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 yes和appendfsync everysec可以确保每秒将写操作同步到磁盘。
总结
这些优化步骤和配置可以帮助你更加安全、稳定地使用 Redis,同时确保 Redis 可以高效地运行在你的环境中。记得根据你的实际需求调整配置,尤其是在生产环境中,应当特别关注安全性和性能。
相关文章:
CentOS 安装Redis
1. 安装 Redis 安装 EPEL 仓库(对于 CentOS/RHEL 系统): 首先安装 EPEL 仓库,因为 Redis 存在于 EPEL 仓库中: yum install epel-release安装 Redis 数据库: yum install redis2. 修改 Redis 配置文件 …...
Linux网络 TCP socket
TCP简介 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它位于OSI模型的第四层,主要为应用层提供数据传输服务。TCP通过三次握手建立连接,确保数据在发送和接收过程中的准确性和顺序…...
(一)相机标定——四大坐标系的介绍、对应转换、畸变原理以及OpenCV完整代码实战(C++版)
一、四大坐标系介绍 1,世界坐标系 从这个世界(world)的视角来看物体 世界坐标系是3D空间坐标,每个点的位置用 ( X w , Y w , Z w ) (X_w,Y_w,Z_w) (Xw,Yw,Zw)表示 2,相机坐标系 相机本身具有一个坐标系&…...
【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:表示input(输入)O:表示ou…...
企业级NoSQL数据库Redis
1.浏览器缓存过期机制 1.1 最后修改时间 last-modified 浏览器缓存机制是优化网页加载速度和减少服务器负载的重要手段。以下是关于浏览器缓存过期机制、Last-Modified 和 ETag 的详细讲解: 一、Last-Modified 头部 定义:Last-Modified 表示服务器上资源…...
Vscode:问题解决办法 及 Tips 总结
Visual Studio Code(简称VSCode)是一个功能强大的开源代码编辑器,广泛用于各种编程语言和开发场景,本博客主要记录在使用 VSCode 进行verilog开发时遇到的问题及解决办法,使用过程中的技巧 文章目录 扩展安装失败调试配…...
二十三种设计模式-装饰器模式
一、定义与核心思想 装饰器模式是一种结构型设计模式,其核心思想是动态地给一个对象添加一些额外的职责。通过这种方式,可以在不改变原有对象结构的基础上,灵活地增加新的功能,使得对象的行为可以得到扩展,同时又保持…...
架构思考与实践:从通用到场景的转变
在当今复杂多变的商业环境中,企业架构的设计与优化成为了一个关键议题。本文通过一系列随笔,探讨了业务架构的价值、从通用架构到场景架构的转变、恰如其分的架构设计以及如何避免盲目低效等问题。通过对多个实际案例的分析,笔者揭示了架构设…...
Spring MVC(一)
RestController RestController 是由 Controller 和 ResponseBody 两个注解构成的。 Spring 启动的时候会扫描所有包含 Controller 或者 RestController 注解的类,创建出对外的接口,这样外界就可以从这里与服务器实现交互,如果没有这个注解…...
vue3使用tsx渲染复杂逻辑的表单
前置 目前的应用场景是:检查项目是树结构,有的项目还需要动态显示对应的子集 项目用的是uniappvue3tsvite生成的app tsx模版 统一渲染入口 <script lang"ts">import uniForms from dcloudio/uni-ui/lib/uni-forms/uni-forms.vueimport…...
python助力WRF自动化运行
对大部分人而言,特别是新用户,WRF模式的安装繁琐且不必要,可以作为后续进阶掌握的技能,本学习跳过繁琐的安装步骤,直接聚焦模式的运行部分,通过短平快的教学,快速掌握模式运行。进一步将python语…...
Windows 下 Postgres 安装 TimescaleDB 插件
Windows 下 Postgres 安装 TimescaleDB 插件 一、准备工作 安装 PostgreSQL:首先确保你已经在 Windows 系统中成功安装了 PostgreSQL 数据库。可以从 PostgreSQL 官方网站下载适合你系统的安装包,并按照安装向导进行安装。安装过程中,记住设…...
【Vim Masterclass 笔记21】S09L39:Vim 设置与 vimrc 文件的用法示例(二)
文章目录 S09L39 Vim Settings and the Vimrc File - Part 21 Vim 的配色方案与 color 命令2 map 命令3 示例:用 map 命令快速生成 HTML 代码片段4 Vim 中的 Leader 键5 用 mkvimrc 命令自动生成配置文件 写在前面 本篇为 Vim 自定义配置的第二部分。当中的每个知识…...
【Docker】Supervisor 实现单容器运行多服务进程
本文内容均来自个人笔记并重新梳理,如有错误欢迎指正! 如果对您有帮助,烦请点赞、关注、转发、订阅专栏! 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】(全…...
【网络协议】【http】【https】ECDHE-TLS1.2
【网络协议】【http】【https】ECDHE-TLS1.2 ECDHE算法 1.客户端和服务器端事先确定好使用哪种椭圆曲线,和曲线上的基点G,这两个参数都是公开的, 双方各自随机生成一个随机数作为私钥d,并与基点 G相乘得到公钥Q(QdG),…...
(十五)WebGL中gl.texImage2D函数使用详解
在 WebGL 中,gl.texImage2D 是一个非常关键的函数,用于将图像数据上传到 WebGL 上下文中并作为纹理对象的一部分。它允许你将图像、视频、画布等作为纹理源。理解如何使用 gl.texImage2D 是在 WebGL 中处理纹理的核心之一。 文章目录 gl.texImage2D 的基…...
CSS 颜色
所有浏览器都支持的颜色名 所有现代浏览器均支持以下 140 种颜色名称(单击颜色名称或十六进制值,可查看将以该颜色为背景颜色以及不同的文本颜色): 颜色名十六进制颜色值颜色AliceBlue#F0F8FFAntiqueWhite#FAEBD7Aqua#00FFFFAqu…...
C#,入门教程(03)——Visual Studio 2022编写彩色Hello World与动画效果
C#,入门教程(01)—— Visual Studio 2022 免费安装的详细图文与动画教程https://blog.csdn.net/beijinghorn/article/details/123350910 C#,入门教程(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 的 免费版本,有了ubutun ,为什么还要使用 CentOS呢? 在linux 服务器实际开发中,大家都用的CentOS,因为两个原因,一个是免费,第二是…...
55.【5】BUUCTF WEB NCTF2019 sqli
进入靶场 输入admin 123 过滤的这么严格??? 过滤很严格,此时要么爆破,要么扫描 直接扫描,得到robots.txt 访问后又得到hint.txt 继续访问 图片内容如下 $black_list "/limit|by|substr|mid|,|admi…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
Python常用模块:time、os、shutil与flask初探
一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...
