Redis是一个使用C语言编写的开源、高性能、非关系型的键值对存储数据库。它支持多种数据结构,包括字符串、列表、集合、有序集合、哈希表等。Redis的内存操作能力极强,其读写性能非常优秀,且支持持久化,可以将数据存储到磁盘上,确保数据安全。Redis还提供了一个强大的Lua脚本引擎,可以用来实现一些复杂的业务逻辑。Redis的使用场景非常广泛,包括缓存、队列、计数器、分布式锁、会话存储等等。
Redis官网地址:https://redis.io/
Redis中文地址:https://www.redis.net.cn/
Windows版下载地址:https://github.com/MicrosoftArchive/redis/releases
下载完成后,将压缩文件解压到任意目录,例如D:\DevelopmentTool\Redis。解压后的文件包括redis-server.exe(服务端)、redis-cli.exe(客服端)、redis.windows.conf(配置文件)等文件。
首先双击运行redis-server.exe可执行文件,开启Redis服务,此时Redis会在后台运行。然后再双击运行redis-cli.exe可执行文件来与Redis进行交互,其中127.0.0.1表示本地主机IP,6379是默认的Redis端口号。
正确停止Redis服务的两种方法:
进入redis-cli.exe可执行文件,输入shutdown命令,回车后Redis服务即会正常停止并退出。
shutdown
需要注意的是,采用这种方式关闭一定要注意关闭的执行顺序。否则可能会导致数据丢失,因此建议使用第一种方式正常停止服务。
按下“Win+R”键,输入“services.msc”并回车这样就打开服务功能了。然后找到Redis服务,右键点击属性然后将手动修改为自动,点击应用和确定,关闭窗口即可。
打开Redis安装目录的redis.windows.conf文件,可以通过编辑该文件并修改相关选项来实现Redis的配置,例如设置监听的端口、绑定的IP地址、密码等。
找到Redis安装目录,启动Redis服务,登录Redis客服端
设置Redis密码相关操作(下面的操作均要在Redis客服端中登录后才能操作)
#查询当前Redis服务密码
config get requirepass
#设置(修改)当前Redis服务密码 注意:这种命令行设置(修改)的密码在服务重启后失效,所以一般不使用这种方式。
config set requirepass 密码
#验证密码登录
auth 密码
注意:也可以使用Linux系统自带的包管理工具来下载Redis安装包(例如,Ubuntu可以使用apt-get,CentOS可以使用yum等)
Linux版下载地址:https://download.redis.io/releases/
进入上传(下载)的Redis安装包所在的目录,将Redis安装包解压到任意目录,例如/usr/local(假设Redis版本号为7.0.8)
tar -zxvf redis-7.0.8.tar.gz -C /usr/local
yum install gcc-c++
进入解压后的Redis源码所在的目录,例如/usr/local/redis-7.0.8,执行make命令进行编译
cd /usr/local/redis-7.0.8 #进入解压后的Redis源码目录
make #执行make命令进行编译
cd /usr/local/redis-7.0.8/src #进入Redis的src目录
make install #运行make install命令进行Redis安装
安装后的文件包括redis-server(服务端)、redis-cli(客服端)、redis.conf(配置文件)等文件。
进入Redis的src目录,执行redis-server文件
/usr/local/redis-7.0.8/src/redis-server #启动Redis服务端(按Ctrl+c可退出Redis服务端窗口)
可以看到,前台启动Redis服务时,服务端页面占据了整个控制台,需要开启另一个标签页面才能实现Redis客服端的启动,其中我们可以通过修改Redis配置文件,使得Redis服务端页面可以退出控制台,在系统后台默默执行。
修改Redis的配置文件redis.conf
vim /usr/local/redis-7.0.8/redis.conf #进入Redis的配置文件redis.conf
输入/daemonize查找daemonize no
按 i 进入修改模式,将 “aemonize no” 修改为 “aemonize yes” 按 Esc 保存,按 “Shift + :” 输入wq退出
后台启动Redis服务
#后台启动Redis服务的时候,后面一定要跟上配置文件redis.conf路径,这样后台启动Redis服务才能生效
/usr/local/redis-7.0.8/src/redis-server /usr/local/redis-7.0.8/redis.conf
启动Redis客服端,测试Redis服务是否在系统后台默默执行。
/usr/local/redis-7.0.8/src/redis-cli #启动Redis客服端 (按Ctrl+d可退出客户端窗口或者输入exit)
可以看见Redis客服端启动成功,说明Redis服务系统后台默默执行了。其中127.0.0.1表示本地主机IP,6379是默认的Redis端口号。
#查找Redis服务进程号
ps -ef | grep redis
#停止Redis服务
kill -9 进程号
Redis的配置文件为redis.conf,默认存放在Redis安装目录下。可以通过编辑该文件并修改相关选项来实现Redis的配置,例如设置监听的端口、绑定的IP地址、密码等。
启动Redis服务,登录Redis客服端
/usr/local/redis-7.0.8/src/redis-server /usr/local/redis-7.0.8/redis.conf #后台启动Redis服务
/usr/local/redis-7.0.8/src/redis-cli #启动Redis客服端 (按Ctrl+d可退出客户端窗口或者输入exit)
设置Redis密码相关操作(下面的操作均要在Redis客服端中登录后才能操作)
#查询当前Redis服务密码
config get requirepass
#设置(修改)当前Redis服务密码 注意:这种命令行设置(修改)的密码在服务重启后失效,所以一般不使用这种方式。
config set requirepass 密码
#验证密码登录
auth 密码
修改Redis密码登录检验配置并设置密码(Redis默认是没有开启密码登录检验的)
vim /usr/local/redis-7.0.8/redis.conf #进入Redis的配置文件redis.conf
#按 i 进入修改模式,找到 #requirepass foobared行,将其修改为下面的例子按 Esc 保存,然后按 “Shift+:” 输入wq退出
//此处注意,行前不能有空格
requirepass 123456 #将注释符号#去掉,后面写你自己要设置的密码
重新启动Redis服务
#查找Redis服务进程号
ps -ef | grep redis
#停止Redis服务
kill -9 进程号
#后台启动Redis服务
/usr/local/redis-7.0.8/src/redis-server /usr/local/redis-7.0.8/redis.conf
登录Redis客户端进行测试
/usr/local/redis-7.0.8/src/redis-cli
执行Redis查询语句
kyes * #出现这个"(error) NOAUTH Authentication required." 表示用户未登录,需要进行身份验证,说明密码设置成功
在Redis客服端中进行身份验证登录,并且重新查询
#Redis客服端中进行身份验证登录的几种方式
#注意:-h后面跟着的是要登录的主机IP地址,-p后面跟着的是端口号
#1、登录Redis客服端的同时输入登录密码
#/usr/local/redis-7.0.8/src/redis-cli -h localhost -p 6379 -a 密码
#2、先登录Redis客服端,然后再利用auth进行身份验证
#auth 123456
auth 123456
出现上面情况,说明Redis永久性密码配置已经完成。
在本地电脑上利用cmd命令打开Redis客户端所在目录的redis-cli.exe可执行程序,登录远程系统的Redis服务(注意要确保远程系统的防火墙已经关闭,或者系统的Redis端口号已经对外开放)
.\redis-cli.exe -h 192.168.188.188 -p 6379 -a 123456
以上说明Redis远程登录连接失败,可以知道Redis默认是不支持远程登录服务的
修改Redis远程登录配置(Redis默认是不支持远程登录服务的)
vim /usr/local/redis-7.0.8/redis.conf #进入Redis的配置文件redis.conf
#按 i 进入修改模式,找到 bind 127.0.0.1 -::1 行,将其注释起来按 Esc 保存,然后按 “Shift+:” 输入wq退出
重新启动Redis服务
#查找Redis服务进程号
ps -ef | grep redis
#停止Redis服务
kill -9 进程号
#后台启动Redis服务
/usr/local/redis-7.0.8/src/redis-server /usr/local/redis-7.0.8/redis.conf
重新登录Linux系统的Redis服务(注意要确保Linux系统的防火墙已经关闭,或者Linux系统的Redis端口号已经对外开放)
.\redis-cli.exe -h 192.168.188.188 -p 6379 -a 123456
可以看见,在本地电脑上已经可以远程登录Linux系统的Redis服务了,说明Redis远程登录配置已经完成。
创建一个管理Redis的系统服务文件redis.service
vim /etc/systemd/system/redis.service
创建的系统服务文件redis.service内容如下:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis-7.0.8/src/redis-server /usr/local/redis-7.0.8/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
ExecStart=“这里填写自己Redis服务文件所在的目录以及配置文件所在的目录”
重新加载Redis服务配置文件
systemctl daemon-reload
Redis启动、停止、重启、开机自启动简单命令的使用
# 查看Redis服务状态
systemctl status redis
#查找Redis服务进程号
ps -ef | grep redis
# 启动Redis服务
systemctl start redis
# 停止Redis服务
systemctl stop redis
# 重启Redis服务
systemctl restart redis
# Redis服务开机自启动
systemctl enable redis
以上设置Redis启动、停止、重启、开机自启动的简单命令已经完成。