redis-00 redis安装、启动、配置和使用

[toc]

一、redis的安装

1.下载

官网找到下载地址 redis官网
到xshell控制台黏贴 wget http://download.redis.io/releases/redis-6.0.8.tar.gz

2.解压
 tar -xzvf redis-6.0.8.tar.gz           #解压 
 mv redis-6.0.8 /usr/local/redis     #移动
3.编译
cd /usr/local/redis              
make

若编译出错,可能gcc版本太多,官网查看此版本需要gcc>5.3
gcc升级到gcc 9.3

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#下面 scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本
      scl enable devtoolset-9 bash
 #要长期使用gcc 9.3的话
      echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile 
4.安装
make PREFIX=/usr/local/redis install
上述指令PREFIX 指定了redis必须存放在/usr/local/redis目录
若make install不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录,配置文件会存放在/usr/local/etc目录,其他的资源文件会存放在usr/local/share目录。
 这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。

二、redis三种启动方式说明

(一)直接启动

进入redis根目录,执行命令:

nohup redis-server &      #加上‘&’号使redis以后台程序方式运行

nohup和&说明

  1. nohup
  • 用途:不挂断地运行命令
  • 语法:nohup Command [ Arg … ] [ & ]
  1. &
  • 用途:在后台运行
(二)通过指定配置文件启动

可以为redis服务启动指定配置文件,例如配置为/usr/local/redis/redis.conf
进入redis根目录,输入命令:

cd /usr/local/redis/bin
./redis-server /usr/local/redis/redis.conf

说明:后续如果更改了端口,使用“redis-cli”客户端连接时,也需要指定端口,例如:
redis-cli -p 6380

(三)使用redis启动脚本设置开机自启动
1.linux自启动文件说明

1. 自启动相关文件或文件夹

  • /etc/init.d/
  • /etc/rc.d/init.d/
  • /etc/rc.d/
  • /etc/rc.local

2. /etc/init.d 的简单介绍

  • 系统初始化以及用户登录系统过程,会调用/ect/init.d目录下的脚本
  • init.d 目录中存放的是一系列系统服务的管理(启动与停止)脚本。
  • 用service命令可执行init.d目录中相应服务的脚本。例如 执行命令“service resin start”,可启动/etc/init.d/resin脚本。
  • /etc/init.d是指向/etc/rc.d/init.d的软连接。

3. /etc/rc.d 的简单介绍

  • linux以rpm包安装时设定的一些服务的启动脚本

4. /etc/rc.d/init.d 的简单介绍

  • /etc/rc.d/init.d 目录下的脚本就类似与windows中的注册表,在系统启动的时候执行

5. /etc/rc.local 的简单介绍

  • /etc/rc.local是/etc/rc.d/rc.local的软连接
  • /etc/rc.d/rc.local 用于添加开机启动命令

redhat的启动方式和执行次序是:

  • 加载内核
  • 执行init程序
  • /etc/rc.d/rc.sysinit # 由init执行的第一个脚本
  • /etc/rc.d/rc RUNLEVEL #RUNLEVEL为缺省的运行模式
  • /etc/rc.d/rc.local
  • /sbin/mingetty # 等待用户登录
2. redis开机自启动设置方式一:修改/etc/rc.local内容
  • (1)移动配置文件
cd /usr/local/redis
mkdir etc
mv redis.conf /usr/local/redis/etc
  • (2)设置redis为后台启动 (和带&后台启动进程方式启动效果一样)
vim /usr/local/redis/etc/redis.conf   #将daemonize on 改成daemonize yes
  • (3)将redis加入到开机自启动
vim /etc/rc.local   
#在里面添加下面内容:
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf   #意思是开机调用开启redis的命令
  • (4)开启redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 
  • 将redis-cli,redis-server拷贝到/usr/local/bin目录下(或者建立软连接),让redis-cli指令可以在任意目录下直接使用
#拷贝
cp /usr/local/redis/bin/redis-server /usr/local/bin
cp /usr/local/redis/bin/redis-cli /usr/local/bin
#建立软连接     ln -s 源文件  目标文件
ln -s /usr/local/redis/bin/redis-server /usr/local/bin/redis-server
ln -s /usr/local/redis/bin/redis-cli /usr/local/bin/redis-cli
3. redis开机自启动设置方式二:将redis启动脚本复制到/etc/init.d目录下

redis的启动脚本 redis_init_script 位于位于Redis的 /utils/ 目录下。其内容如下:

#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

### BEGIN INIT INFO
# Provides:     redis_6379
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Redis data structure server
# Description:          Redis data structure server. See https://redis.io
### END INIT INFO

# redis服务器监听的端口
REDISPORT=6379
# 服务端所处位置
EXEC=/usr/local/bin/redis-server
# 客户端位置
CLIEXEC=/usr/local/bin/redis-cli

# redis的PID文件位置,需要修改
PIDFILE=/var/run/redis_${REDISPORT}.pid
# redis的配置文件位置,需将${REDISPORT}修改为文件名
CONF="/etc/redis/${REDISPORT}.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac
  • (1)移动redis配置文件
cd /usr/local/redis
mkdir etc
mv redis.conf /usr/local/redis/etc
  • (2)设置redis为后台启动 (和带&后台启动进程方式启动效果一样)
vim /usr/local/redis/etc/redis.conf   #将daemonize on 改成daemonize yes
  • (3)移动redis自启动脚本到/etc/init.d目录下,本例将启动脚本命名为redisd(通常都以d结尾表示是后台自启动服务)
cp /usr/local/redis/utils/redis_init_script /etc/init.d/redisd
  • (4) 设置为开机自启动,直接配置开启自启动 chkconfig redisd on 发现错误: service redisd does not support chkconfig 的报错,解决办法如下
vim /etc/init.d/redisd    
#在启动脚本开头添加如下注释
#!/bin/sh
# chkconfig: 2345 90 10
# description:  Redis is a persistent key-value database

注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
再设置即可:

#设置为开机自启动服务器
chkconfig redisd on
#打开服务
service redisd start
#关闭服务
service redisd stop

三、redis的配置

配置项名称 配置项值范围 说明
daemonize yes, no yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port 指定 Redis 监听端口,默认端口为 6379

四、常用命令

1.启动redis
  • 采用查看进程方式
    ps -aux | grep redis
  • 采用端口监听查看方式
    netstat -lanp | grep 6379
2.查看redis是否正在运行
  • 采用查看进程方式
    ps -aux | grep redis
  • 采用端口监听查看方式
    netstat -lanp | grep 6379

参考

  1. https://www.cnblogs.com/happywish/p/10944253.html
  2. https://www.cnblogs.com/kelelipeng/p/13088319.html
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,367评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,959评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,750评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,226评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,252评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,975评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,592评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,497评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,027评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,147评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,274评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,953评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,623评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,143评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,260评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,607评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,271评论 2 358