安装

源码安装

Redis 是基于 C 语言编写的,因此首先需要安装 Redis 所需要的 gcc 依赖:

# 查看版本
gcc -v

# 安装 gcc 和 tcl
yum install -y gcc tcl

下载 Redis 源码包:

wget https://packages.redis.io/redis-stack/redis-stack-server-6.2.6-v7.rhel7.x86_64.tar.gz?_gl=1*1usxo17*_ga*Mjk4ODg3NzExLjE2Njc5MTcxNTc.*_ga_8BKGRQKRPV*MTY4NDY1MzQ5Ny4zLjEuMTY4NDY1NjExMi4yMi4wLjA.

编译:

tar -zxf redis-stack-server-6.2.6-v7.rhel7.x86_64.tar.gz
mv redis-stack-server-6.2.6-v7.rhel7.x86_64 redis-6.2.6
cd redis-6.2.6

# 将 redis 安装到 /usr/local/redis 目录下, 默认是在 /usr/local/ 目录下
make PREFIX=/usr/local/redis && make install

只要执行命令不报错,就说明 Redis 安装成功了。

执行 make 命令可能会出现下面的报错:

20230521161105

这是因为 Redis6.0 之后需要高版本的 gcc,先执行以下命令卸载 Redis:

cd redis-6.2.6

make distclean
make clean

# 删除 redis 解压后的文件
cd ..
rm -rf redis-6.2.6

# 重新解压
tar -zxf redis-stack-server-6.2.6-v7.rhel7.x86_64.tar.gz
mv redis-stack-server-6.2.6-v7.rhel7.x86_64 redis-6.2.6

安装高版本的 gcc 和 tcl:

# 查看 gcc 版本是否在 5.3 以上,centos7.6 默认安装 4.8.5
gcc -v
# 升级 gcc 到 5.3 及以上, 此处升级到 gcc 9.3
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash

# 需要注意的是 scl 命令启用只是临时的,退出 shell 或重启就会恢复原系统 gcc 版本。
# 如果要长期使用 gcc 9.3 的话,需要使用下面的命令

echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

# 这样退出 shell 重新打开就是新版的 gcc 了。其他版本同理,修改 devtoolset 版本号即可。

Docker 安装

docker pull redis:6.2.12
# -p 6379:6379 将容器的 6379端 口映射到宿主机的 6379 端口
# -v /usr/local/djfapp/redis/conf/redis.conf:/etc/redis/redis.conf 将宿主机中当前目录下的 redis.conf 映射成容器内redis 的启动配置文件
# -v /usr/local/djfapp/redis/data:/data 将宿主机中当前目录下 /usr/local/djfapp/redis/data 挂载到容器的 /data
# redis-server /etc/redis/redis.conf 让容器使用指定的配置文件启动 redis-server 进程(该配置文件是容器内的,但是我们之前已经做了本地配置文件的映射,所以就相当于用本地的配置文件来启动)
# --requirepass "123456" 指定 redis-server 的密码(可选)
# --appendonly yes 开启数据持久化(可选)

docker run -p 6379:6379 --name redis01 \
 -v /usr/local/djfapp/redis/conf/redis.conf:/etc/redis/redis.conf \
 -v /usr/local/djfapp/redis/data:/data \
 -d redis:6.2.12 \
 redis-server /etc/redis/redis.conf --requirepass "123456" --appendonly yes
docker exec -it myredis redis-cli

启动 Redis

# Redis 默认是安装在 /use/local 目录下
# 该方式默认是前台启动 Redis
# /usr/local/bin/redis-server 其实是 redis-server 的软链接
/usr/local/bin/redis-server

后台启动 Redis:

# 备份配置文件
cp /usr/local/redis/redis.conf /usr/local/redis/redis.conf.bak

# 修改配置文件
vim /usr/local/redis/redis.conf
# 哪些 IP 可以访问 Redis。0.0.0.0 表示任意 IP 都可以访问 Redis
bind 0.0.0.0
# 守护进程,修改为 yes 后即可后台运行
daemonize yes 
# 密码,设置后访问 Redis 必须输入密码
requirepass 123456
# 进入 redis 安装目录 
cd /usr/local/redis/
# 通过指定的配置文件来启动 Redis
./src/redis-server redis.conf
# 查看 Redis 是否启动成功
ps aux | grep redis

停止 Redis

# 查看 Redis 的进程号
ps aux | grep redis

# 通过 kill 命令来停止 Redis(不推荐)
kill -9 12345

# 利用 redis-cli 来执行 shutdown 命令即可停止 Redis 服务(推荐)
# 因为之前配置了密码,因此需要通过 -u 或者 -a 来指定密码
redis-cli -u 123456 shutdown

设置开机自启

新建一个系统服务文件 redis.service

vim  /etc/systemd/system/redis.service

内容如下:

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/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
# 设置开机自启
systemctl enable redis
# 取消开机自启
systemctl disable redis

Redis 客户端

安装完成 Redis 后,我们就可以操作 Redis 来实现数据的 CRUD 了。这需要用到 Redis 客户端,Redis 客户端包括:

  • 命令行客户端
  • 图形化桌面客户端
  • 编程客户端

Redis 命令行客户端

Redis 安装完成后就自带了命令行客户端 redis-cli,使用方式如下:

redis-cli [options] [commonds]

其中常见的 options 有:

  • -h:指定要连接的 redis 节点的IP地址,默认是 127.0.0.1
  • -p:指定要连接的 redis 节点的端口,默认是 6379
  • -a:指定 redis 的访问密码

其中的 commonds 就是 Redis 的操作命令。例如 ping 命令可以为 redis 服务端做心跳测试,服务端正常会返回 pong

redis-cli -h localhost -p 6379 -a 123456 ping

不指定 commond 时,会进入 redis-cli 的交互控制台。在交互控制台中,我们可以输入 Redis 的操作命令,例如 select 0

图形化桌面客户端