Linux:安装部署Redis
学习自:Linux安装部署Redis(超级详细) - 她_wjw - 博客园
redis启停
开启: /安装目录/bin/redis-server /安装目录/bin/redis.conf(相当于是用redis-server这个服务读取redis.conf这个配置然后启动)
关闭: /安装目录/bin/redis-cli shutdown
一、下载安装redis
1、进入redis官网下载页面Download | Redis
找到要下载的对应版本,右键复制链接地址
补充
Redis版本号(本文的版本号是6.2.13)的第二位如果是奇数,代表非稳定版本,如果是偶数,代表稳定版本。奇数版本是下个偶数版本的开发版本(6.1就是6.2的开发版本)。
。2、到Linux控制台下,新建目录 /usr/local/redis(建议不要以root去建,不然之后还要一个个给权限)
sudo mkdir /usr/local/redis
3、在redis目录下,用wget下载redis的tar.gz包(就是在1中复制的那个链接)
sudo wget -P /usr/local/redis -O redis-6.2.13.tar.gz https://download.redis.io/releases/redis-6.2.13.tar.gz?_gl=1*x39dhx*_ga*MTg1NjkxNjgyNS4xNjkxNjgyNTU3*_ga_8BKGRQKRPV*MTY5MTY4MjU1Ni4xLjEuMTY5MTY4MjczNy4xNy4wLjA.
-P :指定保存目录
-O:指定保存为别名
下载中
4、去redis目录下,解压
cd /usr/local/redis sudo tar -zxvf redis-6.2.13.tar.gz
解压后得到同名目录redis-6.2.13
目录下有一系列redis相关文件和目录
5、编译
由于存在Makefile,因此可以直接用make编译cd redis-6.2.13/ sudo make
6、安装
sudo make PREFIX=/usr/local/redis install
make时用到了选项PREFIX,该选项的作用是指定安装时bin的目标路径,这里指定为/usr/local/redis。
默认情况下的存放位置:
- 可执行文件(如redis、redis-server、redis-sentinel、redis-cli):/usr/local/bin
- 库文件:/usr/local/lib
- 配置文件:/usr/local/etc
- 资源文件:/usr/local/share
这里指定了目标目录,之后在卸载时,直接用rm -rf /usr/local/redis即可删除redis。
出现以上界面说明redis已经安装完成了。
这里介绍一下这些可执行文件的用途:
- redis-server:启动Redis
- redis-cli:Redis命令行客户端(Client)
- redis-benchmark:Redis基准测试工具
- redis-check-aof:AOF持久化文件检测和修复工具
- redis-check-dump:RDB持久化文件检测和修复工具
- redis-sentinel:哨兵模式启动工具
二、使用redis
1、启动redis
去/usr/local/redis目录下
输入如下指令启动redis
./bin/redis-server ./redis.conf &
中间有个&,含义是把指令放在后台执行,如果要显式执行,可以写成
./bin/redis-server ./redis.conf
后边跟的是配置文件,目的是根据该配置文件的配置启动redis服务(如果没指定配置文件,就会采用默认的那个)。redis.conf配置文件允许自定义多个配置文件,启动时指定读取哪一个即可。
2、redis.conf配置文件
在目录/usr/local/redis/redis-6.2.13下有配置文件redis.conf,我们上边的启动方式就是执行了该配置文件的配置运行的。
sudo /usr/local/redis/bin/redis-cli CONFIG GET *
之后会显示出所有配置项
一些比较重要的配置项如下表
配置项名称 |
配置项值范围 |
说明 |
daemonize | yes、no |
是否启用守护进程。默认no。 守护进程:运行在后台的特殊进程,独立于控制终端,不用用户输入就能持续运行。 |
port | Redis 监听端口,默认6379 | |
bind |
绑定的主机地址,bind和protected-mode控制了是否可以远程访问(从另一台机器登录这台机器上的redis) 。 例如,bind 192.168.10.11就意味着只能让192.168.10.11登录该redis,其他任何IP都不行,包括127.0.0.1. 如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可, |
|
protected-mode | yes 、no |
保护模式,该模式控制外部网是否可以连接redis服务。 默认是yes,即外网是无法访问的。 |
timeout | 300 | 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能 |
loglevel | debug、verbose、notice、warning | 日志级别,默认为 notice |
databases | 16 |
设置数据库的数量,默认的数据库是0。 整个通过客户端工具可以看得到 |
rdbcompression | yes、no |
指定存储至本地数据库时是否压缩数据,默认为 yes。 Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。 |
dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb |
dir | 指定本地数据库存放目录 | |
requirepass |
设置 Redis 连接密码,默认关闭 如果配置了连接密码,客户端在连接 Redis 时需要通过 -a <password> 命令提供密码 |
|
maxclients | 0 |
设置同一时间最大客户端连接数,默认无限制 Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 |
maxmemory | num <bytes> | Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。 |
几个常见修改
将daemonize改为yes,这样就不用每次启动都在redis-server命令后面加符号&;
将bind注释,将protected-mode设置为no。这样启动后我就可以在外网访问了。
更改方式:
sudo vim redis.conf
通过 /daemonize 查找到属性,默认是no,更改为yes即可。 (通过/关键字查找,使用n切换到下一个)
补充
关于redis.conf更详细的介绍可以看:redis配置文件:redis.conf
3、查看Redis运行状态
1)ps查看进程
ps -aux | grep redis
2)端口监听
netstat -lanp | grep 6370
3)redis-cli
redis-cli是连接本地redis服务的命令,通过该命令可以使用redis脚本控制台。
如果报错command not found,可以这样做
cd /usr/local/redis/bin ln ./redis-cli /bin
4)关闭
进入redis-cli,输入shutdown,接口关闭运行中的Redis服务