下载Redis
1、官网下载redis通过工具上传到服务器
2、yum直接下载(前提:服务器能连接外网)
选择要下载redis版本,右键Download按钮,选择复制链接。进入服务器执行以下命令。
wget https://download.redis.io/releases/redis-6.2.12.tar.gz
3、作者百度网盘下载
环境检查
1、检查Redis是否已安装
redis-cli ping
如果返回"PONG",则说明Redis已经安装并正在运行。否则,说明Redis尚未安装。
安装Redis
1、解压压缩包
解压之前请先移动jar包到你想要安装的位置。并解压
tar -zxvf 压缩包名称
解压后在目录上输入ls 列出所有目录会发现与下载redis之前多了一个redis-6.2.12的目录。
注意:解压成功后可以删压缩包,防止压缩包占用空间。
修改解压后产生文件地名称
mv 原名称 修改后的名称
2、编译redis
进入解压redis压缩包后的文件夹,执行以下命令接下来控制台会输出各种编译过程中输出的内容。
make
最终运行结果如下:
3、安装redis
进入解压redis压缩包后的文件夹,执行以下命令
make PREFIX=/app/redis/redis/ install
执行结果如下图:
注意: 这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。
4、启动redis
根据上面的操作已经将redis安装完成了。在目录/app/redis/redis 输入下面命令启动redis
1、后台启动
./bin/redis-server& ./redis.conf
2、显示启动方式
./bin/redis-server ./redis.conf
注意: 显示启动方式如在配置文件设置了daemonize属性为yes则跟后台进程方式启动其实一样。
3、两种方式启动区别
两种方式区别无非是有无带符号&的区别。 redis-server 后面是配置文件,目的是根据该配置文件的配置启动redis服务。redis.conf配置文件允许自定义多个配置文件,通过启动时指定读取哪个即可。
redis的配置文件讲解(redis.conf)
1、查看redis.conf文件命令
按照以上安装步骤,在目录/app/redis/redis下有一个redis.conf的配置文件。我们上面启动方式就是执行了该配置文件的配置运行的。我么可以通过cat、vim、less等Linux内置的读取命令读取该文件。
cat redis.conf 该条命令只能查看
vim redis.conf 该条命令查、修
less redis.conf 该条命令查、修
也可以./bin/redis-cli命令进入redis控制台后通过CONFIG GET * 的方式读取所有配置项。 如下:
./bin/redis-cli
CONFIG GET *
2、redis.conf配置文件比较重要的配置项
配置项名称 | 配置项值范围 | 说明 |
daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行 |
port | 指定 Redis 监听端口,默认端口为 6379 | |
bind | 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。 | |
protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。 |
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 时需要通过 AUTH命令提供密码,默认关闭 | |
maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 |
maxmemory | XXX | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。 |
3、修改配置文件
这里我要将daemonize改为yes,不然我每次启动都得在redis-server命令后面加符号&,不这样操作则只要回到Linux控制台则redis服务会自动关闭,同时也将bind注释,将protected-mode设置为no。
这样启动后我就可以在外网访问了。
修改命令
vim redis.conf
通过 /daemonize 查找到属性,默认是no,更改为yes即可。 (通过/关键字查找出现多个结果则使用 n字符切换到下一个即可,查找到结果后输入:no,修改成功后,按esc按键结束编辑,":wq"保存修改,并退出文件)。
设置redis连接密码
查看Redis是否正在运行
1、采取查看进程方式
ps -aux | grep redis
2、采取端口查看进程方式
netstat -lanp | grep 6379
本地操作redis(redis-cli)
redis-cli是连接本地redis服务的一个命令,通过该命令后可以进入redis的脚本控制台。
1、启动命令
./bin/redis-cli
输入exit可以退出redis脚本控制台
exit
2、关闭运行中的Redis服务
输入redis-cli 进入控制台后输入命令shutdown即可关闭运行中的Redis服务了。
shutdown
当设置redis requirepass时,即设置了redis连接密码,未执行
auth 设置的密码
在redis控制台执行其他命令是报错
redis常见问题
后续作者遇到redis相关问题会在此补充。