1.Redis下载:
2.在Centos7中搭建Reids-6.2环境
2.1.环境准备:
- 1.安装Vmware,为安装Linux系统做准备
- 2.虚拟机中安装CentOS7
- 3.安装Xshell,可以实现远程登录服务器
- 4.安装ftp,方便文件传输
2.2.安装过程:
- 1.CentOS7安装redis之前,需要确保安装了gcc;
查看版本:gcc -v
安装gcc:yum install -y gcc
- 2.下载redis地址:
https://redis.io/(英文网) http://www.redis.cn/(中文网)
- 3.在linux下载可使用的命令是:
wget http://download.redis.io/releases/redis-6.0.6.tar.gz
- 4.下载完毕后进行解压:我把解压的文件放在了Download文件夹下。
解压命令:tar -zxvf redis- dis-6.0.6.tar.gz
;这里我是去下载后,通过ftp上传到了opt目录中; - 5.解压完成后。进入到redis- dis-6.0.6这个目录下面进行编译:
编译命令:make
- 6.
在编译时若出现以下面错误提示
- 经过百度查询,这错误第一个原因可能是gcc没有安装成功,但是我用gcc -v 命令查看的时候,显示gcc已成功安装了。
- 上面报错的第二个原因是:
CentOS7默认安装的gcc版本号是是4.8.5,而redis6.0只支持5.3以上的gcc版本
,所以需要对gcc版本进行升级。我把gcc版本升级到了9版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
- 在gcc版本升级完成后,还需要在服务器上进行gcc版本的切换。而且切换完成后还需要重启服务器。切换命令是:
scl enable devtoolset-9 bash
;切换完成后,再进入redis- 6.2.1目录,先执行:make distclean
。清除之前的编译文件,再执行:make
,一切顺利后执行编译:make install
- 7.然后到
usr/local/bin
目录下执行:./redis-server
(前台启动方式),出现下图,安装成功。
2.3.Redis6的安装目录
- 1.Redis默认安装目录是:
/usr/local/bin
- 2.查看默认安装目录:
redis-benchmark
:性能测试工具,可以看看自己笔记本性能咋样redis-check-aof
:修复有问题的AOF文件,rdb和aof后面讲redis-check-dump
:修复有问题的dump.rdb文件redis-sentinel
:Redis集群使用redis-server
:Redis服务器启动命令redis-cli
:客户端,操作入口
2.4.Redis启动方式
a.前台启动:
./redis-server
是属于前台启动方式,出现的命令行窗口不能关闭。否则服务停止
b.Redis的配置文件及后台启动:
- 1.
Redis的配置文件
- 1.想要后台启动,首先得需要了解下redis的按配置文件:
redis.conf
,Redis配置文件的目录:/opt/module/redis-6.2.6/redis.conf
- 2.在vim这个配置文件的时候,默认是不显示行号的,可以编辑下面这个文件,末尾加上
set nu
,就会显示行号:
- 3.
Units单位
- 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit
- 大小写不敏感
- 4.
Includes包含
:可以包含多个配置文件
- 5.
Modules包含
- 6.
网络相关配置
- 6.1.bind=127.0.0.1说明:默认情况
bind=127.0.0.1
只能接受本机的访问请求,如果注释掉不写或者改成bind=0.0.0.1
的情况下,无限制接受任何ip地址的访问 - 6.2.在生产环境肯定要写你应用服务器的地址;服务器是需要远程访问的,所以需要将其注释掉
- 6.3.protected-mode说明:
- 将本机开启保护模式
- 如果
开启了protected-mode
,那么在没有设定bind ip且没有设密码的情况下,Redis也只允许接受本机的响应
,所以设置为:protected-mode:no
- 6.4.port:端口号,默认 6379
- 6.5.tcp-backlog
- 设置tcp的backlog,backlog其实是一个连接队列,
backlog队列总和=未完成三次握手队列 + 已经完成三次握手队列
。 - 在高并发环境下你需要一个高backlog值来避免慢客户端连接问题。
- 注意Linux内核会将这个值减小到
/proc/sys/net/core/somaxconn的值(128)
,所以需要确认增大/proc/sys/net/core/somaxconn和/proc/sys/net/ipv4/tcp_max_syn_backlog(128)
两个值来达到想要的效果
- 设置tcp的backlog,backlog其实是一个连接队列,
- 6.6.timeout:一个空闲的客户端维持多少秒会关闭,0表示关闭该功能,即永不关闭
- 6.7.
tcp-keepalive
- 对访问客户端的一种心跳检测,每个n秒检测一次。
- 单位为秒,如果设置为0,则不会进行Keepalive检测,建议设置成60
- 使用keepalive有两个好处:
- 检测挂掉的对端
- 降低中间设备出问题而导致网络看似连接却已经与对端端口的问题
- 6.1.bind=127.0.0.1说明:默认情况
- 7.
GENERAL
daemonize:
表示守护进程:是否为后台进程,设置为yes,守护进程,后台启动
- 8.存放pid文件的位置,每个实例会产生一个不同的pid文件
- 9.指定日志记录级别,Redis总共支持四个级别:
- debug(很多信息,方便开发、测试)、
- verbose(许多有用的信息,但是没有debug级别信息多)、
- notice(默认,适当的日志级别,适合生产环境)、
- warning(只有非常重要的信息)
- 10.
dir .
:工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
,目录设置为:dir /opt/software/log
- 11.Syslog 相关配置:
- 12.其他配置:
databases 1
:数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15maxmemory 512mb
:设置redis能够使用的最大内存logfile "redis.log"
:日志文件,默认为空,不记录日志,可以指定日志文件名requirepass
:表示redis密码,可以设置为:requirepass 190915
- 2.
Redis的后台启动
- 1.更改完之后,下面命令进行后台启动
- 2.产生的日志:
- 3.停止redis:
kill -9 54660
2.5.Redis访问
a.方式1:用客户端访问:redis-cli
- 1.Redis安装完成后就自带了命令行客户端:redis-cli,使用方式如下:
redis-cli [options] [commonds]
- 2.其中常见的options有:
-h 127.0.0.1
:指定要连接的redis节点的IP地址,默认是127.0.0.1-p 6379
:指定要连接的redis节点的端口,默认是6379-a 123321
:指定redis的访问密码- 其中的commonds就是Redis的操作命令,例如:
ping
:与redis服务端做心跳测试,服务端正常会返回pong
;不指定commond时,会进入redis-cli
的交互控制台:
b.方式2:图形化界面:
- 1.在下面这个仓库可以找到安装包:
https://github.com/lework/RedisDesktopManager-Windows/releases
c.Redis关闭
- 1.单实例关闭:
redis-cli shutdown
- 2.多实例关闭:
redis-cli -p 6379 shutdown
,指定端口关闭
d.设置Redis的开机自启
- 1.首先,新建一个系统服务文件:
vim /etc/systemd/system/redis.service
/usr/local/bin/redis-server
:Redis的安装目录;/usr/local/src/redis-6.2.6/redis.conf
:Redis的配置文件所在目录
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- 2.然后重载系统服务:
systemctl daemon-reload
,下面我们可以用下面这组命令来操作redis了:
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis
- 3.执行
systemctl enable redis
命令,可以让redis开机自启: