Redis 简介与目录结构及配置文件详解

📌 温馨提示:
本文内容可能随时间变动而失效,请以页面显示的更新时间为准。
若内容已不准确或资源失效,欢迎留言或联系站长反馈修正。
⚠️ 免责声明:
本文仅供学习与参考,观点仅代表作者个人意见,与本站无关。
如有侵权问题,请立即联系我们处理,谢谢理解与支持。

🧠 一、Redis 简介

Redis(Remote Dictionary Server)是一个开源的高性能键值对(Key-Value)内存数据库,支持持久化存储,可用作数据库、缓存、消息队列等。

  • 官方地址https://redis.io
  • 特点
  • 内存存储,速度极快
  • 支持多种数据结构:字符串、哈希、列表、集合、有序集合、位图、HyperLogLog 等
  • 提供持久化机制(RDB、AOF)
  • 支持发布订阅(Pub/Sub)
  • 支持主从复制与哨兵、高可用(Redis Sentinel)与集群部署

📁 二、Redis 安装后的目录结构(以 yum 安装为例)

/usr/bin/redis-server         ← Redis 服务启动命令
/usr/bin/redis-cli            ← Redis 客户端命令行工具
/etc/redis.conf               ← Redis 主配置文件
/var/lib/redis/               ← Redis 数据持久化目录
/var/log/redis/redis.log      ← Redis 日志文件(需配置开启)
/var/run/redis/redis.pid      ← Redis 运行 PID 文件
/usr/lib/systemd/system/redis.service  ← systemd 启动服务文件

📌 有些路径可根据实际系统版本不同而有所变化,可通过配置文件指定或在编译安装时定义。


⚙️ 三、Redis 配置文件详解 /etc/redis.conf

Redis 使用纯文本配置文件,字段格式为:配置项 值,注释以 # 开头。

🔹 基础配置项

bind 127.0.0.1
port 6379
daemonize yes
pidfile /var/run/redis/redis.pid
logfile /var/log/redis/redis.log
dir /var/lib/redis/
配置项含义
bind监听 IP,默认只允许本地连接,可设为 0.0.0.0 允许外部访问
portRedis 服务监听端口,默认 6379
daemonize是否以守护进程运行,设为 yes 表示后台运行
pidfile记录 redis 进程号的文件路径
logfile日志文件路径,默认使用标准输出(可以写入日志文件)
dirRedis 持久化文件(RDB、AOF)存储目录

🔸 持久化配置

save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
配置项含义
saveRDB 持久化规则(单位:秒/次数)
rdbcompression是否对 RDB 文件启用压缩
dbfilenameRDB 文件名
appendonly是否开启 AOF 持久化(更安全)
appendfilenameAOF 文件名称
appendfsyncAOF 同步频率:alwayseverysec(推荐)、no

🔸 内存控制与淘汰策略

maxmemory 256mb
maxmemory-policy allkeys-lru
配置项含义
maxmemory最大使用内存上限,超过后启用淘汰策略
maxmemory-policy淘汰策略,如:
  • noeviction:内存满后拒绝写入
  • allkeys-lru:基于所有键的 LRU 淘汰
  • volatile-lru:只淘汰设置了过期时间的键
  • allkeys-random:随机淘汰任意键
  • volatile-ttl:淘汰最短剩余时间的键 |

🔸 安全性设置

requirepass yourpassword
配置项含义
requirepass设置 Redis 的访问密码(强烈推荐)

🔸 主从复制与集群(可选)

slaveof 192.168.1.100 6379
masterauth yourpassword
配置项含义
slaveof将当前 Redis 实例设置为从节点
masterauth主节点密码

🔸 客户端连接限制

timeout 300
tcp-keepalive 60
配置项含义
timeout客户端空闲连接超时时间(秒)
tcp-keepaliveTCP 保活时间,控制连接是否被断开

🔧 四、Redis 服务控制(systemd)

使用以下命令管理 Redis 服务:

# 启动
systemctl start redis

# 停止
systemctl stop redis

# 重启
systemctl restart redis

# 查看状态
systemctl status redis

# 开机自启
systemctl enable redis

🧪 五、测试连接

# 启动 redis-cli 客户端
redis-cli

# 如果设置了密码:
redis-cli -a yourpassword

✅ 六、总结

通过 yum 安装的 Redis 在 CentOS 7 上具有结构清晰、配置灵活的特点。我们可以根据实际应用场景合理调整持久化策略、内存限制和安全设置等参数,以获得更稳定、高效的运行效果。


THE END
喜欢就支持一下吧
点赞12
评论 抢沙发

请登录后发表评论

    暂无评论内容