CentOS搭建:Redis

12/31/2024 Linux

目录


参考:


# CentOS搭建:Redis

# 环境依赖

软件/系统 版本 架构 包名 备注
Linux CentOS x86_64 redis-6.2.14.tar.gz (opens new window) 官网下载 (opens new window)

# 一、Redis 概述

Redis是一个开源的key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。并且在此基础上实现了master-slave(主从)同步。

# Redis 应用场景

1.配合关系型数据库做高速缓存

  • 高频次,热门访问的数据,降低数据库IO
  • 分布式架构,做session共享

d6d31e4f4aa740c59f0ab64467155644

2.多样的数据结构存储持久化数据

0be36e8861754d12b8d0299583d2bf87

# 二、编译安装

# 解压 && 进入目录
tar -zxvf redis-6.2.14.tar.gz -C /soft && cd redis-6.2.14
1
2
yum -y update
# 安装编译所需依赖
yum -y install gcc gcc-c++ automake autoconf
# 验证依赖安装
gcc --version
make --version
1
2
3
4
5
6
# 编译安装
make && make install
1
2

image-20240705120724917

注意:如果没有准备好C语言编译环境,make 会报错—Jemalloc/jemalloc.h:没有那个文件,运行make distclean,再次执行make 和 make install 命令即可。

安装成功后进入安装目录(默认安装路径:/usr/local/bin),会发现多了一个bin文件夹,bin文件夹下各个文件的详解

  • redis-benchmark :redis性能测试工具
  • redis-check-aof :AOF文件修复工具
  • redis-check-rdb :RDB文件修复工具
  • redis-sentinel :集群管理工具
  • redis-server 服务进程指令
  • redis-cli :命令行工具

# 三、启动与停止

# 前台启动

# 启动
redis-server
1
2

退出:Ctrl+C

# 后台(守护进程)启动

进入解压出来的redis-6.2.14文件夹,将redis.conf复制到/usr/local/etc/目录下

cp /soft/redis-6.2.14/redis.conf /usr/local/etc/
1

修改配置:daemonize为yes

# 备份
cp /usr/local/etc/redis.conf /usr/local/etc/redis.conf.bak20240703
ll -a /usr/local/etc/ | grep redis
# 编辑
vi /usr/local/etc/redis.conf
1
2
3
4
5
daemonize yes  
1

启动redis时指定redis.conf

# 启动,指定配置文件
redis-server /usr/local/etc/redis.conf
1
2

查看Redis是否启动

# 查看Redis进程
ps -ef | grep redis
1
2

关闭Redis

# 关闭Redis
redis-cli shutdown
1
2

# 配置开机自启动

# 创建服务文件
vi /etc/systemd/system/redis.service
1
2

在文件写入下面内容

[Unit]
Description=redis-server
After=network.target
 
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/etc/redis.conf
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
11
# 重载系统服务  
systemctl daemon-reload  
# 加入开机自启  
systemctl enable redis
# 启动redis服务
systemctl start redis
# 停止redis服务
systemctl stop redis
# 查看redis服务状态
systemctl status redis
1
2
3
4
5
6
7
8
9
10

# 四、访问配置

# 客户端访问

# 进入控制台
redis-cli
1
2

# 远程连接访问

# 备份
cp /usr/local/etc/redis.conf /usr/local/etc/redis.conf.bak20240703.2
ll -a /usr/local/etc/ | grep redis
# 编辑配置文件
vi /usr/local/etc/redis.conf
1
2
3
4
5
  • 找到bind 127.0.0.1 -::1,替换成bind * -::*
  • 找到protected-mode yes改为protected mode no
  • 找到requirepass foobared,去掉前面的#,再把foobared改为你的密码即可
bind * -::*
protected-mode no
requirepass rsAat3721 (密码)
1
2
3

重启Redis服务

# 启动redis服务
systemctl restart redis
1
2

从此重连redis需要先验证密码

# 进入控制台
redis-cli
1
2
# 查询密码
config get requirepass
1
2

(error) NOAUTH Authentication required. 说明需要密码验证

# 验证密码
auth rsAat3721 (密码)
1
2

再执行config get requirepass,则能正确查出结果。

# 退出控制台
exit
1
2
上次更新时间: 9/25/2024, 1:19:15 AM