一、认识Redis
Redis官网:https://redis.io/
二、Redis的安装
虚拟机:VMware Workstation
操作系统:CentOS-7-x86_64-Everything-2009
1、安装依赖库
Redis是一款基于C语言的数据库,因此我们要进入终端安装gcc依赖:
yum install -y gcc tcl
2、通过安装包安装Redis
将下载好的redis-6.2.6.tar.gz上传至虚拟机的/uer/local/src目录下,这里我使用了mobaxterm
解压缩:
tar -xzf redis-6.2.6.tar.gz
解压得到redis-6.2.6文件夹后运行编译命令:
cd redis-6.2.6
make && make install
若编译报错:致命错误:jemalloc/jemalloc.h:没有那个文件或目录 ,则输入:
make MALLOC=libc && make install
默认的安装路径在/usr/local/bin目录下
三、Redis的启动和操作
1、默认的前台启动,不推荐
安装完成后,在任意目录输入redis-server命令即可启动Redis:
redis-server
启动后如图:
弊端:这种启动属于前台启动,会阻塞整个会话窗口。当窗口关闭或者按下CTRL+C
时Redis关闭。故不推荐使用。
2、需修改配置文件的后台启动,不推荐
备份redis-6.2.6目录下的配置文件redis.conf:
cp redis.conf redis.conf.bck
修改redis.conf中的一些配置:
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes
# 密码,设置后访问Redis必须输入密码
requirepass 123321
# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志.持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"
启动Redis:
# 进入redis安装目录
cd /usr/local/src/redis-6.2.6
# 启动
redis-server redis.conf
停止Redis:
# 获取redis进程id
ps -ef | grep redis
# 通过kill命令直接杀死进程
kill -9 redis进程id
# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,因此需要通过 -a 来指定密码
redis-cli -u 123321 shutdown
3、设置开机自启,推荐
新建一个系统服务文件:
vi /etc/systemd/system/redis.service
内容如下:
[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
之后重载系统服务:
systemctl daemon-reload
现在,我们可以用下面这组命令来操作redis了:
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis
执行下面的命令,可以让redis开机自启:
systemctl enable redis
注意: 如果出现:Failed to execute operation: Bad message的错误,就是vim /etc/systemd/system/redis.service创建的文件有问题,复制内容时,文件中的[Unit]变成了t]。这是因为未在编辑模式下复制,导致直到遇到[Unit]中的字母i才进入编辑模式,所以只有t],因此复制粘贴前,先按字母i进入编辑模式再粘贴。
四、Redis的客户端
Redis常用客户端有命令行客户端、图形化桌面客户端、编程客户端(Java客户端),这里我们简单介绍前两种。
1、命令行客户端
Redis安装完成后自带命令行客户端:redis-cli,使用方式如下:
# option与commonds非必须
redis-cli [options] [commonds]
其中常见的option有:
commonds就是Redis的操作命令,如:
不指定commonds则直接进入交互控制台:
通过交互控制台我们可以向数据库中添加、获取键值对:
2、图形化桌面客户端
GitHub上的大神编写了Redis的图形化桌面客户端,地址:GitHub - uglide/RedisDesktopManager: Cross-platform Developer GUI for Redis
不过该仓库提供的是RedisDesktopManager的源码,并未提供windows安装包。
在下面这个仓库可以找到安装包:Releases · lework/RedisDesktopManager-Windows · GitHub
直接在windows安装即可。
连接Redis方式:
连接成功后:
Redis默认有16个仓库,编号从0至15. 通过配置文件可以设置仓库数量,但是不超过16,并且不能自定义仓库名称。
如果是基于redis-cli连接Redis服务,可以通过select命令来选择数据库:
# 选择 0号库
select 0
若无法连接,开放虚拟机端口6379、重启防火墙:
# 开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#关闭端口
firewall-cmd --zone=public --remove-port=6379/tcp --permanent
# 查看已开放端口
firewall-cmd --list-ports
# 查看防火墙状态
systemctl status firewalld
# 开启防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld
# 重启防火墙
systemctl restart firewalld.service
–zone :作用域
–add-port=6379/tcp :添加端口,格式为:端口/通讯协议
–permanent :永久生效,没有此参数重启后失效