安装Redis
单机安装Redis
大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包(此处选择的Linux版本的CentOS 7)
- Windows版直接下载对应版本的
.zip
压缩包解压即可使用
第一步: Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖, yum -y install gcc tcl
第二步: 上传Redis安装包到虚拟机的任意目录并解压,tar -zxvf redis安装包(如redis-6.2.6) -C /usr/local
第三步: 进入redis的解压目录: cd /usr/local/redis-6.2.6
第四步: 运行编译命令安装redis: make && make install
,默认redis的命令存放在 /usr/local/bin
目录下
第五步: 运行/usr/local/bin
目录下的redis的命令(因为bin目录已经默认配置到环境变量,所以可以在任意目录下运行这些命令)
redis-cli
: Redis提供的命令行客户端(用户与Redis交互的平台)redis-server
: Redis的服务端启动脚本(服务启动之后用户就可以连接),默认情况下不允许远程连接,可以在redis.conf文件中进行设置redis-sentinel
: Redis的哨兵启动脚本
启动redis
默认启动(不推荐使用): 在任意目录输入redis-server
命令即可启动Redis,默认端口号为6379
- 这种启动属于前台启动会阻塞整个会话窗口,窗口关闭或者按下CTRL + C就会停止Redis
指定配置启动
修改Redis安装目录下的Redis的redis.conf配置文件(/usr/local/redis-6.2.6/redis.conf
), 让Redis以后台方式启动
- 修改前可以将这个配置文件备份一份:
cp redis.conf redis.conf.bck
- 执行redis-server命令并指定配置文件位置启动Redis:
redis-server redis.conf(配置文件的绝对路径/相对路径)
- 利用redis-cli来执行shutdown命令停止Redis服务,如果配置了密码还需要通过-u来指定密码:
redis-cli -u 123456 shutdown
properties
# 监听的地址,默认是127.0.0.1表示只能在本地访问
# 开启远程连接,0.0.0.0表示可以在任意IP访问(生产环境还是要遵循默认设置)
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes
# 密码,设置后访问Redis必须输入密码
requirepass 123456
# Redis的其它常见配置
# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,1表示只使用1个库(默认有16个库,编号0~15)
databases 16
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"
执行ps -ef | grep redis
命令查看redis-server
是否后台启动成功
设置Redis的开机自启
第一步: 新建一个系统服务文件通过配置来实现开机自启: vim /etc/systemd/system/redis.service
第二步: 重载系统服务: systemctl daemon-reload
第三步: 使用systemctl命令控制redis服务的启动、停止、开机自启: systemctl start 或 restart 或 stop 或 status 或 enable 或 disable redis
shell
[Unit]
# 描述服务
Description=redis-server
# 描述服务类别
After=network.target
[Service]# 服务运行参数的设置
Type=forking# 后台运行的形式
# 服务的具体运行命令,服务的启动、重启、停止命令全部要求使用绝对路径且正确
# ExecReload为重启命令,ExecStop为停止命令
ExecStart=/usr/local/bin/redis-server /usr/local/redis-6.2.6/redis.conf
PrivateTmp=true# 表示给服务分配独立的临时空间
[Install]# 运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
WantedBy=multi-user.target