CentOS 安装Redis

1. 安装 Redis

安装 EPEL 仓库(对于 CentOS/RHEL 系统):

首先安装 EPEL 仓库,因为 Redis 存在于 EPEL 仓库中:

bash 复制代码
yum install epel-release
安装 Redis 数据库:
bash 复制代码
yum install redis

2. 修改 Redis 配置文件

Redis 的配置文件位于 /etc/redis.conf,你需要根据实际需求进行修改。

启动配置:
  • 设置密码

    Redis 需要通过密码进行保护,防止未经授权的访问。找到 requirepass 配置项,或者直接添加设置密码:

    bash 复制代码
    requirepass your_password_here
  • 允许远程连接

    默认情况下,Redis 只允许本地连接(bind 127.0.0.1)。为了支持远程连接,需要修改配置:

    • 注释掉 bind 127.0.0.1,让 Redis 接受所有 IP 地址的连接:

      bash 复制代码
      #bind 127.0.0.1
    • 如果你只想允许特定 IP 访问 Redis,可以像这样设置:

      bash 复制代码
      bind 0.0.0.0
      # 或者指定特定的 IP 地址,如:
      # bind 192.168.1.100
  • 后台运行 Redis

    Redis 默认是前台运行的,建议在生产环境中将其配置为后台运行。将 daemonize 设置为 yes

    bash 复制代码
    daemonize yes
  • 优化内存配置

    Redis 是一个内存数据库,因此合理的内存管理配置至关重要。你可以根据系统的内存容量调整 Redis 的内存使用策略。例如:

    • 设置最大内存使用量:

      bash 复制代码
      maxmemory 2gb
    • 设置内存溢出策略(例如,当达到最大内存时,Redis 会删除最不常用的键):

      bash 复制代码
      maxmemory-policy allkeys-lru
  • 配置持久化

    Redis 提供了两种持久化机制:RDB 和 AOF。根据你的需求选择:

    • RDB 持久化:适用于需要定期保存数据的场景。
    • AOF 持久化:适用于需要频繁保存数据的场景。

    在配置文件中,确保启用了 RDB 或 AOF 持久化:

    bash 复制代码
    save 900 1       # 如果900秒内有至少1个键被修改,保存数据
    appendonly yes   # 启用 AOF 持久化
配置完成后,保存并退出编辑器(在 vim 中按 Esc,然后输入 :wq 保存并退出)。

3. 启动 Redis 服务

Redis 配置修改完成后,需要启动 Redis 服务:

bash 复制代码
redis-server /etc/redis.conf &
启动/停止 Redis:
  • 启动 Redis:

    bash 复制代码
    service redis start
  • 停止 Redis:

    bash 复制代码
    service redis stop
  • 查看 Redis 服务状态:

    bash 复制代码
    service redis status
查看 Redis 进程:
bash 复制代码
ps -ef | grep redis

4. 防火墙和安全设置

配置防火墙:

确保 Redis 端口(默认是 6379)可以通过防火墙访问。

  • CentOS/RHEL 防火墙配置:

    bash 复制代码
    firewall-cmd --zone=public --add-port=6379/tcp --permanent
    firewall-cmd --reload
安全性加强:
  • 使用密码保护 :如前所述,设置 requirepass 可以防止未经授权的访问。

  • 限制访问源 IP :通过配置 bind 来限制允许连接的 IP 地址。你可以将 bind 设置为特定的 IP 地址或使用防火墙进行 IP 限制。

  • 关闭 protected-mode :如果启用了 protected-mode,Redis 会保护你不被暴露在公网环境下。在生产环境中,通常会将其禁用:

    bash 复制代码
    protected-mode no
使用 Redis 配置的安全最佳实践:
  • 不要将 Redis 直接暴露在互联网上,最好通过 VPN 或使用内网通信。
  • 为每个 Redis 实例配置复杂的密码,尤其是在生产环境中。
  • 定期检查 Redis 配置文件,确保没有配置项被不小心泄露。

5. Redis 客户端(Windows)

对于 Windows 用户,可以选择以下客户端工具:

Redis Desktop Manager(RDM)
  • 下载链接Redis Desktop Manager
    • 这是一个图形化管理工具,可以帮助你更方便地与 Redis 进行交互。
Another Redis Desktop Manager(ARDM)

6. 常见问题与优化

远程连接问题:
  • 确认 Redis 配置 :确保 Redis 配置文件中的 bind 设置正确,并且防火墙已开放 6379 端口。

  • 检查密码 :如果启用了密码保护,连接时需要使用正确的密码:

    bash 复制代码
    redis-cli -h <IP_ADDRESS> -p 6379 -a <password>
性能优化:
  • 调整最大内存使用量 :Redis 是一个内存数据库,可以通过调整 maxmemory 配置来限制 Redis 占用的最大内存,以避免占满系统内存。
  • 内存溢出策略 :配置 maxmemory-policy 来决定 Redis 在达到最大内存限制时如何处理数据。常用的策略有 allkeys-lru(最少使用的键会被删除)和 volatile-lru(仅删除设置了过期时间的键)。
  • 开启 AOF 持久化 :可以启用 AOF(Append-Only File)持久化机制来提高数据安全性。通过配置 appendonly yesappendfsync everysec 可以确保每秒将写操作同步到磁盘。

总结

这些优化步骤和配置可以帮助你更加安全、稳定地使用 Redis,同时确保 Redis 可以高效地运行在你的环境中。记得根据你的实际需求调整配置,尤其是在生产环境中,应当特别关注安全性和性能。

相关推荐
南棱笑笑生1 天前
20251217给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通ov5645【只能预览】
linux·c语言·开发语言·rockchip
Sleepy MargulisItG1 天前
【Linux网络编程】应用层协议:HTTP协议
linux·服务器·网络·http
G31135422731 天前
Linux 内核设计中的核心思想与架构原则
linux·架构·php
zhuzewennamoamtf1 天前
Linux内核platform抽象、数据结构、内核匹配机制
linux·运维·数据结构
算法与双吉汉堡1 天前
【短链接项目笔记】Day2 用户注册
java·redis·笔记·后端·spring
Kira Skyler1 天前
ELF文件解析 elf.o 文件主要内容.md
linux
逐梦吧!旅行者1 天前
Linux MySQL 5.7用户管理与用户密码的设置问题
linux·mysql
RisunJan1 天前
Linux命令-grpck命令(验证和修复组配置文件(`/etc/group` 和 `/etc/gshadow`)完整性的工具)
linux·运维·服务器
loosed1 天前
Ubuntu mysql8 tar.xz 安装
linux·ubuntu·adb
Xの哲學1 天前
Linux VxLAN深度解析: 从数据平面到内核实现的全面剖析
linux·服务器·算法·架构·边缘计算