Redis02-redis的安装
- Redis约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版(如2.8版、3.0版),奇数版本是非稳定版(如2.7版、2.9版),生产环境下一般需要使用稳定版本。
1、编译安装redis(单机模式)
1.1、部署环境
- 软件版本
- Redis:redis-6.0.16.tar.gz
- 系统环境
- 10.1.1.11:CentOSLinuxrelease7.7.1908(Core)
1、内存分配控制
//获取 ]# cat /proc/sys/vm/overcommit_memory 0 //设置(临时有效) ]# sysctl vm.overcommit_memory=1 //设置(重启后,永久生效) ]# echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
2、swappiness
- Linux>3.5,vm.swappiness建议为1,否则建议为0。
//查看 ]# cat /proc/sys/vm/swappiness 30 //设置(临时有效) echo {bestvalue} > /proc/sys/vm/swappiness //设置(重启后,永久生效) echo vm.swappiness={bestvalue} >> /etc/sysctl.conf
3、关闭THP
//查看 ]# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise never //设置(临时有效) echo never > /sys/kernel/mm/transparent_hugepage/enabled //设置(重启后,永久生效) echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >/etc/rc.local
4、设置ulimit
//查看 ]# cat /proc/sys/net/core/somaxconn 128 //修改 ]# echo 511 > /proc/sys/net/core/somaxconn
1.2、安装Redis
1、下载redis
下载地址:https://download.redis.io/releases/ 安装包:redis-6.0.16.tar.gz
2、升级gcc-c++
- 因为gcc-c++版本(4.8.5)过低,因此在执行make命令(编译安装)时会报错:"make[1]: *** [server.o] Error 1"。
//安装一个新的yum源 ]# yum -y install centos-release-scl //升级gcc-c++ ]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils //使新的gcc-c++生效(临时有效)。永久有效执行:echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile ]# scl enable devtoolset-9 bash //查看gcc的版本 ]# gcc -v
3、编译安装redis
]# wget https://download.redis.io/releases/redis-6.0.16.tar.gz ]# tar zvfx ./redis-6.0.16.tar.gz ]# cd redis-6.0.16/ ]# mkdir /apps/ ]# make ]# make install PREFIX=/apps/redis-6.0.16/
4、修改redis的配置文件
- 一个服务器上可以创建多个redis实例。例如,我们在此服务器上创建一个redis实例,监听6379端口。
//为redis实例准备一个配置文件 ]# cp ./redis.conf /apps/redis-6.0.16/6379.conf //创建redis软连接,指向redis-6.0.16 ]# cd /apps/ ]# ln -s redis-6.0.16 redis //分别修改每个实例的配置文件,以6379.conf为例 ]# vim /apps/redis/6379.conf #redis实例监听的端口(注意不同的实例监听的端口不一样) port 6379 #监听的IP地址 bind 10.1.1.11 #在后台运行 daemonize yes #日志文件 logfile "/apps/redis/logs/redis.log" #Redis工作目录(存放持久化文件和日志文件) dir /apps/redis/data/ #客户端连接密码 requirepass hengha123 //创建目录 ]# mkdir /apps/redis/{data,logs}
1.3、启停redis服务
- 如果在编译后执行了make install命令,这下面的可执行文件会被复制到Redis_HOME/bin目录内,所以在命令行中直接输入文件名称即可执行。
- redis-server:启动Redis
- redis-cli:Redis命令客户端
- redis-benchmark:Redis性能测试工具
- redis-check-aof:Redis AOF持久化文件检测和修复工具
- redis-check-rdb:Redis RDB持久化文件检测和修复工具
- redis-sentinel:启动Redis Sentinel(仅在2.8版以后)
1、启动redis
- 有三种方法启动redis:使用默认配置启动、运行配置启动、配置文件启动。
- (1)使用默认配置启动
]# /apps/redis/bin/redis-server
- (2)运行配置启动
//redis-server加上要修改配置项名和值(可以是多对),没有设置的配置项将使用默认配置。 redis-server --configKey1 configValue1 --configKey2 configValue2 //例如,如果要用6380作为端口启动Redis,那么可以执行: /apps/redis/bin/redis-server --port 6380
- (3)配置文件启动
//使用指定的配置文件启动redis ]# /apps/redis/bin/redis-server /apps/redis/6379.conf
2、停止redis
//停止。(等价于kill -15 PID) ]# /apps/redis/bin/redis-cli SHUTDOWN
- 这里有三点需要注意:
- (1)Redis关闭的过程:断开与客户端的连接、持久化文件生成,是一种相对优雅的关闭方式。
- (2)除了可以通过shutdown命令关闭Redis服务以外,还可以通过kill进程号的方式关闭掉Redis。但是不要粗暴地使用kill-9强制杀死Redis服务,这样做不但不会做持久化操作,还会造成缓冲区等资源不能被优雅关闭,极端情况会造成AOF和复制丢失数据的情况。
- (3)shutdown还有一个参数,表示是否在关闭Redis前,生成持久化文件。
redis-cli shutdown nosave|save
2、编译安装redis(哨兵模式)
- 见:https://www.cnblogs.com/maiblogs/p/16603422.html
3、编译安装redis(集群模式)
- 见:https://www.cnblogs.com/maiblogs/p/16617284.html
1
# #