当前位置: 首页 > news >正文

CentOS 安装Redis

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 可以高效地运行在你的环境中。记得根据你的实际需求调整配置,尤其是在生产环境中,应当特别关注安全性和性能。

相关文章:

CentOS 安装Redis

1. 安装 Redis 安装 EPEL 仓库&#xff08;对于 CentOS/RHEL 系统&#xff09;&#xff1a; 首先安装 EPEL 仓库&#xff0c;因为 Redis 存在于 EPEL 仓库中&#xff1a; yum install epel-release安装 Redis 数据库&#xff1a; yum install redis2. 修改 Redis 配置文件 …...

Linux网络 TCP socket

TCP简介 TCP&#xff08;Transmission Control Protocol&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议。它位于OSI模型的第四层&#xff0c;主要为应用层提供数据传输服务。TCP通过三次握手建立连接&#xff0c;确保数据在发送和接收过程中的准确性和顺序…...

(一)相机标定——四大坐标系的介绍、对应转换、畸变原理以及OpenCV完整代码实战(C++版)

一、四大坐标系介绍 1&#xff0c;世界坐标系 从这个世界&#xff08;world&#xff09;的视角来看物体 世界坐标系是3D空间坐标&#xff0c;每个点的位置用 ( X w , Y w , Z w ) (X_w,Y_w,Z_w) (Xw​,Yw​,Zw​)表示 2&#xff0c;相机坐标系 相机本身具有一个坐标系&…...

【Linux网络编程】高效I/O--I/O的五种类型

目录 I/O的概念 网络通信的本质 I/O的本质 高效I/O 五种I/O模型 阻塞I/O 非阻塞I/O 信号驱动I/O 多路转接/多路复用I/O 异步I/O 非阻塞I/O的实现 I/O的概念 网络通信的本质 网络通信的本质其实就是I/O I&#xff1a;表示input(输入)O&#xff1a;表示ou…...

企业级NoSQL数据库Redis

1.浏览器缓存过期机制 1.1 最后修改时间 last-modified 浏览器缓存机制是优化网页加载速度和减少服务器负载的重要手段。以下是关于浏览器缓存过期机制、Last-Modified 和 ETag 的详细讲解&#xff1a; 一、Last-Modified 头部 定义&#xff1a;Last-Modified 表示服务器上资源…...

Vscode:问题解决办法 及 Tips 总结

Visual Studio Code&#xff08;简称VSCode&#xff09;是一个功能强大的开源代码编辑器&#xff0c;广泛用于各种编程语言和开发场景&#xff0c;本博客主要记录在使用 VSCode 进行verilog开发时遇到的问题及解决办法&#xff0c;使用过程中的技巧 文章目录 扩展安装失败调试配…...

二十三种设计模式-装饰器模式

一、定义与核心思想 装饰器模式是一种结构型设计模式&#xff0c;其核心思想是动态地给一个对象添加一些额外的职责。通过这种方式&#xff0c;可以在不改变原有对象结构的基础上&#xff0c;灵活地增加新的功能&#xff0c;使得对象的行为可以得到扩展&#xff0c;同时又保持…...

架构思考与实践:从通用到场景的转变

在当今复杂多变的商业环境中&#xff0c;企业架构的设计与优化成为了一个关键议题。本文通过一系列随笔&#xff0c;探讨了业务架构的价值、从通用架构到场景架构的转变、恰如其分的架构设计以及如何避免盲目低效等问题。通过对多个实际案例的分析&#xff0c;笔者揭示了架构设…...

Spring MVC(一)

RestController RestController 是由 Controller 和 ResponseBody 两个注解构成的。 Spring 启动的时候会扫描所有包含 Controller 或者 RestController 注解的类&#xff0c;创建出对外的接口&#xff0c;这样外界就可以从这里与服务器实现交互&#xff0c;如果没有这个注解…...

vue3使用tsx渲染复杂逻辑的表单

前置 目前的应用场景是&#xff1a;检查项目是树结构&#xff0c;有的项目还需要动态显示对应的子集 项目用的是uniappvue3tsvite生成的app tsx模版 统一渲染入口 <script lang"ts">import uniForms from dcloudio/uni-ui/lib/uni-forms/uni-forms.vueimport…...

python助力WRF自动化运行

对大部分人而言&#xff0c;特别是新用户&#xff0c;WRF模式的安装繁琐且不必要&#xff0c;可以作为后续进阶掌握的技能&#xff0c;本学习跳过繁琐的安装步骤&#xff0c;直接聚焦模式的运行部分&#xff0c;通过短平快的教学&#xff0c;快速掌握模式运行。进一步将python语…...

Windows 下 Postgres 安装 TimescaleDB 插件

Windows 下 Postgres 安装 TimescaleDB 插件 一、准备工作 安装 PostgreSQL&#xff1a;首先确保你已经在 Windows 系统中成功安装了 PostgreSQL 数据库。可以从 PostgreSQL 官方网站下载适合你系统的安装包&#xff0c;并按照安装向导进行安装。安装过程中&#xff0c;记住设…...

【Vim Masterclass 笔记21】S09L39:Vim 设置与 vimrc 文件的用法示例(二)

文章目录 S09L39 Vim Settings and the Vimrc File - Part 21 Vim 的配色方案与 color 命令2 map 命令3 示例&#xff1a;用 map 命令快速生成 HTML 代码片段4 Vim 中的 Leader 键5 用 mkvimrc 命令自动生成配置文件 写在前面 本篇为 Vim 自定义配置的第二部分。当中的每个知识…...

【Docker】Supervisor 实现单容器运行多服务进程

本文内容均来自个人笔记并重新梳理&#xff0c;如有错误欢迎指正&#xff01; 如果对您有帮助&#xff0c;烦请点赞、关注、转发、订阅专栏&#xff01; 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】&#xff08;全…...

【网络协议】【http】【https】ECDHE-TLS1.2

【网络协议】【http】【https】ECDHE-TLS1.2 ECDHE算法 1.客户端和服务器端事先确定好使用哪种椭圆曲线&#xff0c;和曲线上的基点G&#xff0c;这两个参数都是公开的&#xff0c; 双方各自随机生成一个随机数作为私钥d&#xff0c;并与基点 G相乘得到公钥Q(QdG)&#xff0c…...

(十五)WebGL中gl.texImage2D函数使用详解

在 WebGL 中&#xff0c;gl.texImage2D 是一个非常关键的函数&#xff0c;用于将图像数据上传到 WebGL 上下文中并作为纹理对象的一部分。它允许你将图像、视频、画布等作为纹理源。理解如何使用 gl.texImage2D 是在 WebGL 中处理纹理的核心之一。 文章目录 gl.texImage2D 的基…...

CSS 颜色

所有浏览器都支持的颜色名 所有现代浏览器均支持以下 140 种颜色名称&#xff08;单击颜色名称或十六进制值&#xff0c;可查看将以该颜色为背景颜色以及不同的文本颜色&#xff09;&#xff1a; 颜色名十六进制颜色值颜色AliceBlue#F0F8FFAntiqueWhite#FAEBD7Aqua#00FFFFAqu…...

C#,入门教程(03)——Visual Studio 2022编写彩色Hello World与动画效果

C#&#xff0c;入门教程(01)—— Visual Studio 2022 免费安装的详细图文与动画教程https://blog.csdn.net/beijinghorn/article/details/123350910 C#&#xff0c;入门教程(02)—— Visual Studio 2022开发环境搭建图文教程https://blog.csdn.net/beijinghorn/article/detail…...

杀死安装 CentOS-7-x86_64-DVD-1908

使用 VMware 安装 CentOS-7-x86_64-DVD-1908 CentOS是 reahat 的 免费版本&#xff0c;有了ubutun &#xff0c;为什么还要使用 CentOS呢&#xff1f; 在linux 服务器实际开发中&#xff0c;大家都用的CentOS&#xff0c;因为两个原因&#xff0c;一个是免费&#xff0c;第二是…...

55.【5】BUUCTF WEB NCTF2019 sqli

进入靶场 输入admin 123 过滤的这么严格&#xff1f;&#xff1f;&#xff1f; 过滤很严格&#xff0c;此时要么爆破&#xff0c;要么扫描 直接扫描&#xff0c;得到robots.txt 访问后又得到hint.txt 继续访问 图片内容如下 $black_list "/limit|by|substr|mid|,|admi…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...