1.基于Center OS7安装redis
1.1下载安装包
wget http://download.redis.io/releases/redis-5.0.8.tar.gz
1.2解压
tar –xvf redis-5.0.8.tar.gz
1.3编译和安装
make install
安装完成以后进入redis目录
cd redis-5.0.8/src
2.启动多个redis服务
2.1指定端口启动服务
服务端启动:redis-server –port 6380
客户端启动:redis-cli -p 6380
2.2配置文件启动方式
(1)进入redis配置文件redis.conf
执行命令: cat redis.conf
(2)打开redis.conf文件后无法阅读,信息量太大了,简化过滤掉redis.conf文件里面的注释执行命令: cat redis.conf | grep -v “#” | grep -v “^$”
这回再次打开redis.conf文件后就清晰多了,但是这时当前这个文件不要修改,如果想修改需要执行如下命令:cat redis.conf | grep -v “#” | grep -v “^$” > redis-6379.conf 这是生成一个新的文件叫redis-6379.conf
(3)编译刚才生成的新文件
执行命令: vim redis-6379.conf
删除无用的信息后保留如下:
创建mkdir date目录
修改文件后如下:
(4)用配置文件启动
执行命令:redis-server redis-6379.conf
查看刚才执行的命令是否启动
执行命令: ps -ef | grep redis-
如果不确定可以再次验证如下图:
杀死redis端口6379服务
将创建的redis-6379.conf文件管理起来,这里需要重新创建个目录
mkdir conf
将redis-6379.conf文件移动到刚才创建的conf目录中
执行命令:mv redis-6379.conf conf
(5)通过配置文件启动多个服务
复制文件redis-6379.conf
执行命令:cp redis-6379.conf redis-6380.conf
编辑redis-6380.conf文件,修改后如下
启动redis-6380.conf和redis-6379.conf
redis-server redis-6380.conf
redis-server redis-6379.conf
用ps -ef | grep redis命令查看如下
连接客户端
执行命令:redis-cli -p 6379
3.Redis持久化相关配置
3.1 RDB(快照)启动方式和相关配置
3.1、1修改生成后的dump.rdb名字
rdbcompression yes 和rdbchecksum yes一个是开启压缩另一个是开启检测
修改配置后需要重启redis服务
查看进程:ps -ef | grep redis-
杀掉进程3538
执行命令:kill -s 9 3538
重新启动redis服务
执行命令:redis-server conf/redis-6379.conf
进入创建好的data目录查看
dump-6379.rdb就是刚才设置好的文件名称
save指令不建议生产环境上使用,因为会阻塞当前redis服务器,直到RDB过程完成为止。
那么如何解决save的阻塞问题呢?
隆重推出bgsave命令,这个可以在后台运行,解决save阻塞的问题。
3.2 AOF持久化策略
3.2、1 AOF三种策略
(1)always(每次)
每次写入操作均同步到AOF文件中,数据零误差,性能较低 不建议用
(2)everysec(每秒)
每秒将缓存区中的指令同步到AOF文件中,数据准确性高,性能较高,宕机情况下丢失1秒内的数据 默认使用这种
(3)no(系统控制)
由操作系统控制每次同步到AOF文件的周期,整体过程不可控
修改配置文件
appendonly 默认是no
appendfsync always | everysec | no
4. 主从复制
4.1主从复制配置
4.1.1 指令连接
(1) 修改redis-6379.conf文件
(2) 修改redis-6380.conf文件
用端口号6380连接6379
执行命令:slaveof 127.0.0.1 6379
通过6379客户端设置值
在6380客户端获取在6379客户端设置的数据
4.1.2 配置文件连接(推荐)
用端口号6380连接6379
修改配置文件redis-6380.conf
5. 哨兵模式
5、1 配置哨兵
查看sentinel.conf配置文件
执行命令: cat sentinel.conf | grep -v “#” | grep -v “^$”
将sentinel.conf复制到conf目录下
执行命令: cat sentinel.conf | grep -v “#” | grep -v “^$” > ./conf/sentinel-26379.conf
修改复制过来的sentinel-26379.conf配置文件
复制多个sentinel.conf文件,
执行命令:
sed ‘s/26379/26380/g’ sentinel-26379.conf > sentinel-26380.conf
sed ‘s/26379/26381/g’ sentinel-26379.conf > sentinel-26381.conf
将26379文件复制了一份配置文件名叫26380,
将26379文件复制了一份配置文件名叫26381
将redis-6380.conf文件复制一份叫redis-6381.conf
执行命令: sed ‘s/6380/6381/g’ redis-6380.conf > redis-6381.conf
分别启动redis服务:
redis-server redis-6379.conf
redis-server redis-6380.conf
redis-server redis-6381.conf
分别启动sentinel
redis-sentinel sentinel-26379.conf
redis-sentinel sentinel-26380.conf
redis-sentinel sentinel-26381.conf
通过info命令查看哨兵启动成功2个哨兵
6. 集群配置
6.1 配置cluster
修改redis-6379.conf文件
cluster-enabled yes 开启集群
cluster-config-file nodes-6379.conf 配置每个节点的配置文件,同样以端口号为名称
cluster-node-timeout 100000 配置集群节点的超时时间,可改可不改
复制上面修改的redis-6379.conf文件
sed “s/6379/6380/g” redis-6379.conf > reids-6380.conf
sed “s/6379/6381/g” redis-6379.conf > reids-6381.conf
sed “s/6379/6382/g” redis-6379.conf > reids-6382.conf
sed “s/6379/6383/g” redis-6379.conf > reids-6383.conf
sed “s/6379/6384/g” redis-6379.conf > reids-6384.conf
sed “s/6379/6385/g” redis-6379.conf > reids-6385.conf
查询下redis状态
创建集群
执行命令:redis-cli –cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 –cluster-replicas 1
查看集群状态:
redis-cli –cluster check 127.0.0.1:6379