CentOS 安装Redis

devtools/2025/1/22 21:42:14/

1. 安装 Redis

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

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

yum install epel-release
安装 Redis 数据库:
yum install redis

2. 修改 Redis 配置文件

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

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

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

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

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

      bind 0.0.0.0
      # 或者指定特定的 IP 地址,如:
      # bind 192.168.1.100
      
  • 后台运行 Redis
    Redis 默认是前台运行的,建议在生产环境中将其配置为后台运行。将 daemonize 设置为 yes

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

    • 设置最大内存使用量:

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

      maxmemory-policy allkeys-lru
      
  • 配置持久化
    Redis 提供了两种持久化机制:RDB 和 AOF。根据你的需求选择:

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

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

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

3. 启动 Redis 服务

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

redis-server /etc/redis.conf &
启动/停止 Redis:
  • 启动 Redis:

    service redis start
    
  • 停止 Redis:

    service redis stop
    
  • 查看 Redis 服务状态:

    service redis status
    
查看 Redis 进程:
ps -ef | grep redis

4. 防火墙和安全设置

配置防火墙:

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

  • CentOS/RHEL 防火墙配置:
    firewall-cmd --zone=public --add-port=6379/tcp --permanent
    firewall-cmd --reload
    
安全性加强:
  • 使用密码保护:如前所述,设置 requirepass 可以防止未经授权的访问。
  • 限制访问源 IP:通过配置 bind 来限制允许连接的 IP 地址。你可以将 bind 设置为特定的 IP 地址或使用防火墙进行 IP 限制。
  • 关闭 protected-mode:如果启用了 protected-mode,Redis 会保护你不被暴露在公网环境下。在生产环境中,通常会将其禁用:
    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)
  • 下载链接:Another Redis Desktop Manager
    • 另一个流行的 Redis 客户端,适用于多平台,简单易用。

6. 常见问题与优化

远程连接问题:
  • 确认 Redis 配置:确保 Redis 配置文件中的 bind 设置正确,并且防火墙已开放 6379 端口。
  • 检查密码:如果启用了密码保护,连接时需要使用正确的密码:
    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 可以高效地运行在你的环境中。记得根据你的实际需求调整配置,尤其是在生产环境中,应当特别关注安全性和性能。


http://www.ppmy.cn/devtools/152694.html

相关文章

【网络协议】【http】【https】RSA+AES-TLS1.2

【网络协议】【http】【https】RSAAES-TLS1.2 https并不是一个协议 而是在传输层之间添加了SSL/TLS协议 TLS 协议用于应用层协议&#xff08;如 HTTP&#xff09;和传输层&#xff08;如 TCP&#xff09;之间&#xff0c;增加了一层安全性来解决 HTTP 存在的问题&#xff0c;H…

如何使用Python爬虫获取微店商品详情:代码示例与实践指南

在电商领域&#xff0c;获取商品详情数据对于商家和开发者来说至关重要。微店作为国内知名的电商平台&#xff0c;提供了丰富的商品数据接口&#xff0c;方便开发者通过API调用获取商品详情。本文将详细介绍如何使用Python爬虫获取微店商品详情&#xff0c;并提供具体的代码示例…

MATLAB语言的文件操作

MATLAB语言的文件操作 1. 引言 MATLAB是一种高性能的语言&#xff0c;广泛应用于数学计算、数据分析和可视化等领域。在实际的应用中&#xff0c;经常需要对文件进行操作&#xff0c;包括读取文件、写入文件以及对文件进行修改等。本文将详细探讨MATLAB的文件操作&#xff0c…

从零到一:Spring Boot 与 RocketMQ 的完美集成指南

1.Rocket的概念与原理 RocketMQ 是一款由阿里巴巴开源的分布式消息中间件&#xff0c;最初用于支持阿里巴巴的海量业务。它基于发布-订阅模型&#xff0c;具备高吞吐、低延迟、高可用和强一致性的特点&#xff0c;适用于消息队列、大规模数据流处理等场景。以下是对 RocketMQ …

Linux测试处理fps为30、1920*1080、一分钟的视频性能

前置条件 模拟fps为30、1920*1080、一分钟的视频 项目CMakeLists.txt cmake_minimum_required(VERSION 3.30) project(testOpenGl)set(CMAKE_CXX_STANDARD 11)add_executable(testOpenGl main.cpptestOpenCl.cpptestOpenCl.hTestCpp.cppTestCpp.hTestCppThread.cppTestCppTh…

【Linux入门】2w字详解yum、vim、gcc/g++、gdb、makefile以及进度条小程序

文章目录 Ⅰ. Linux 软件包管理器 yum一、什么是软件包&#xff1f;二、查找软件包三、安装与卸载软件包 拓展&#xff1a;lrzsz简介拓&#xff1a;配置 yum 源路径的方法Ⅱ. Linux开发工具vim编辑器一、vim 的基本概念二、vim 的基本操作三、vim 命令模式的操作四、vim 底行模…

【大厂面试题】软件测试面试题整理(附答案)

以下面试题为最近大厂面试整理的内容&#xff0c;可供应届生参考。 目录 1. 实习期间用python写过哪些东西&#xff1f; 2. Opencv如何使&#xff1f; 3. 用Python写过什么&#xff0c;在大学期间是必修语言吗&#xff0c;当时考了多少分&#xff1f; 4. Python学下来比较困…

Visual Studio2019调试DLL

1、编写好DLL代码之后&#xff0c;对DLL项目的属性进行设置&#xff0c;选择待注入的DLL&#xff0c;如下图所示 2、生成DLL文件 3、将DLL设置为启动项目之后&#xff0c;按F5启动调试。弹出选择注入的exe的界面之后&#xff0c;使用代码注入器注入步骤2中生成的dll&#xff0…