Redis的安装(CentOS7)与部分配置文件的讲解
Redis的安装
步骤一:安装Redis依赖,下载安装最新版的gcc编译器
yum install -y gcc tcl
步骤二:上传安装包并解压
(1)将Redis安装包上传到/opt中
(2)将Redis安装包解压到/usr/local中
先解压Redis安装包
再移动到/usr/local目录中(为了方便找到)
步骤三:安装Redis
(1)进入redis-6.2.6文件夹中
(2)运行编译命令:
make && make install
默认的安装路径是在 /usr/local/bin目录下:
- redis-cli:是redis提供的命令行客户端 - redis-server:是redis的服务端启动脚本 - redis-sentinel:是redis的哨兵启动脚本
- redis-check-aof:修复有问题的AOF文件
- redis-check-rdb:修复有问题的RDB文件
- redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何
步骤四:启动Redis服务
(1)默认启动(前台启动)
redis-server
这种启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C则Redis停止。不推荐使用。
(2)指定配置启动(后台启动)
如果要让Redis以后台方式启动,则必须修改Redis配置文件,就在我们之前解压的redis安装包下(/usr/local /redis-6.2.6),名字叫redis.conf
我们先将这个配置文件备份一份:
cp redis.conf redis.conf.bck
然后修改redis.conf文件中的一些配置:
vim redis.conf
在命令模式中使用/**,进行查找,比如:
输入i进行插入模式,修改配置文件
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes
# 密码,设置后访问Redis必须输入密码
requirepass 123321
Redis的其它常见配置
# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"
启动Redis,进入redis安装目录
redis-server redis.conf
查看Redis启动情况
ps -ef | grep redis
停止Redis服务
杀死进程
kill -9 进程号
(3)开机自启
我们也可以通过配置来实现开机自启。
首先,新建一个系统服务文件:
vi /etc/systemd/system/redis.service
输入i进行插入模式,编辑配置文件
内容如下:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/redis-6.2.6/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
注意:ExecStart= redis服务端启动路径,和配置文件路径
输入:wq!,进行保存退出
然后重载系统服务:
systemctl daemon-reload
现在,我们可以用下面这组命令来操作redis了:
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis
执行下面的命令,可以让redis开机自启:
systemctl enable redis
步骤五:Redis客户端连接
(1)Redis命令行客户端连接
进入/usr/local/bin的目录下,使用命令进行连接
redis-cli [options] [commonds]
其中常见的options有:
-h 127.0.0.1:指定要连接的redis节点的IP地址,默认是127.0.0.1
-p 6379:指定要连接的redis节点的端口,默认是6379
-a 123321:指定redis的访问密码
redis-cli -a 123456,连接不安全
可以进入redis后,通过auth ‘密码’ 进行连接
(2)图形化客户端连接
使用rdm进行连接
GitHub上的大神编写了Redis的图形化桌面客户端,地址:https://github.com/uglide/RedisDesktopManager,不过该仓库提供的是RedisDesktopManager的源码,并未提供windows安装包。
在下面这个仓库可以找到安装包:https://github.com/lework/RedisDesktopManager-Windows/releases
注意:使用图形化客户端进行连接时,要关闭防火墙
systemctl stop firewalld
输入ip地址和密码
Redis的配置文件介绍
服务器基础配置
# 设置服务器以守护进程的方式运行,守护进程,后台启动
daemonize yes|no
#绑定主机地址,允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0 bind 127.0.0.1
# 设置服务器端口号
port 6379
# 设置数据库数量
databases 16
# 密码,设置后访问Redis必须输入密码
requirepass 密码
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir ./
# 设置redis能够使用的最大内存,建议必须设置,否则,将内存占满,造成服务器宕机
maxmemory 512mb
# 将本机访问保护模式设置no
protected-mode no
# 设置tcp的backlog,backlog其实是一个连接队列,backlog队列总和=未完成三次握手队列 + 已经完成三次握手队列。在高并发环境下你需要一个高backlog值来避免慢客户端连接问题。
tcp-backlog 511
# 对访问客户端的一种心跳检测,每个n秒检测一次。
tcp-keepalive 300
# 存放pid文件的位置,每个实例会产生一个不同的pid文件
pidfile /vsr/run/redis_6379.pid
# volatile-lru:使用LRU算法移除key,只对设置了过期时间的键;(最近最少使用)
# allkeys-lru:在所有集合key中,使用LRU算法移除key
# volatile-random:在过期集合中移除随机的key,只对设置了过期时间的键
# allkeys-random:在所有集合key中,移除随机的key
# volatile-ttl:移除那些TTL值最小的key,即那些最近要过期的key
# noeviction:不进行移除。针对写操作,只是返回错误信息
maxmemory-policy noeviction
# 设置样本数量,LRU算法和最小TTL算法都并非是精确的算法,而是估算值,所以你可以设置样本的大小,redis默认会检查这么多个key并选择其中LRU的那个。一般设置3到7的数字,数值越小样本越不准确,但性能消耗越小。
maxmemory-samples 5
日志配置
# 设置服务器以指定日志记录级别,默认为:notice
loglevel debug|verbose|notice|warning
# 日志记录文件名
logfile 端口号.log
客户端配置
# 设置同一时间最大客户端连接数,默认10000个客户端。当客户端连接到达上限,Redis会关闭新的连接
maxclients 10000
# 客户端闲置等待最大时长,达到最大值后关闭连接。如需关闭该功能,设置为 0
timeout 300
多服务器快捷配置
# 导入并加载指定配置文件信息,用于快速创建redis公共配置较多的redis实例配置文件,便于维护
include /path/server-端口号.conf