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

#                                                                                                                         #
posted @ 2022-08-03 22:39  麦恒  阅读(15)  评论(0编辑  收藏  举报