Redis指南及6.2.x版本安装过程

2025-06-01 14:50

本文主要是介绍Redis指南及6.2.x版本安装过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、...

概述

Redis官网:https://redis.io/

Redis 是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

什么是BSD协议?
BSD是"Berkeley Software Distribution"的缩写,意思是"伯克利软件发行版"。
BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。BSD代码鼓励代码共享,但需要尊重代码作者的著作权。
BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。

redis在4.0之前一直是单线程,在4.0之后引入了多线程,但是处理读写请求www.chinasem.cn的线程也就只有一个。

Redis特点

  • 性能极高 – 由于数据是存储在内存中(Redis能读的速度是110000次/s,写的速度是81000次/s )。

  • 丰富的数据类型 – Redis支持的类型 String, Hash,List, Set 及 Ordered Set 等数据类型操作。

  • 原子性 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

  • 高速读写,redis使用自己实现的分离器,代码量很短,没有使用lock(mysql),因此效率非常高。

Redis是一个简单的,高效的,分布式的,基于内存的缓存工具。
架设好服务器后,通过网络连接(类似数据库),提供Key-Value式缓存服务。
简单,是Redis突出的特色。
简单可以保证核心功能的稳定和优异。

Redis应用场景

Redis可以用作数据库、缓存、秒杀、计数器、排行榜、热点数据(经常会被查询,但是不经常被修改或者删除的数据)、分布式锁、分布式ID、和消息中间件等大部分功能等性能密切相关场景里。

缓存

缓存现在几乎是所有中大型网站都在用的必杀技,合理的利用缓存不仅能够提升网站访问速度,还能大大降低数据库的 压力。Redis提供了键过期功能,也提供了灵活的键淘汰策略,所以,现在Redis用在缓存的场合非常多。

缓存

缓存现在几乎是所有中大型网站都在用的必杀技,合理的利用缓存不仅能够提升网站访问速度,还能大大降低数据库的 压力。Redis提供了键过期功能,也提供了灵活的键淘汰策略,所以,现在Redis用在缓存的场合非常多。

分布式会话

集群模式下,在应用不多的情况下一般使用容器自带的session复制功能就能满足,当应用增多相对复杂的系统中, 一般都会搭建以Redis等内存数据库为中心的session服务,session不再由容器管理,而是由session服务及内存 数据库管理。

分布式锁

在很多互联网公司中都使用了分布式技术,分布式技术带来的技术挑战是对同一个资源的并发访问,如全局ID、减库 存、秒杀等场景,并发量不大的场景可以使用数据库的悲观锁、乐观锁来实现,但在并发量高的场合中,利用数据库锁 来控制资源的并发访问是不太理想的,大大影响了数据库的性能。可以利用Redis的setnx功能来编写分布式的锁,如果设置返回1说明获取锁成功,否则获取锁失败,实际应用中要考虑的细节要更多。

社交网络

点赞、踩、关注/被关注、共同好友等是社交网站的基本功能,社交网站的访问量通常来说比较大,而且传统的关系数 据库类型不适合存储这种类型的数据,Redis提供的哈希、集合等数据结构能很方便的的实现这些功能。

最新列表

Redis列表结构,LPUSH可以在列表头部插入一个内容ID作为关键字,LTRIM可用来限制列表的数量,这样列表永远为N个ID,无需查询最新的列表,直接根据ID去到对应的内容页即可。

Redis各版本介绍

Redis 的版本分为 稳定版(Stable) 和 开发版(Unstable),命名规则为主版本号.次版本号.修订号(如 7.0.11)。

  • 主版本号:重大功能更新(如 5.x → 6.x)。
  • 次版本号:新增功能或非破坏性改进(如 6.0 → 6.2)。
  • 修订号: bug 修复或小更新(如 6.2.1 → 6.2.2)。

目前(2025 年)的长期支持(LTS)版本为 6.x 和 7.x,旧版本逐步停止维护。

旧版本(3.x 及以下)

3.x版本已经不推荐生产环境使用了

  • 代表版本:3.2(2016 年发布)
  • 特性:
    • 支持简单集群(Redis Cluster),但存在节点故障转移不够灵活、数据迁移效率低等问题。
    • 数据结构有限(仅支持字符串、哈希、列表、集合、有序集合)。
  • 缺点:
    • 无分层存储、多线程 I/O 等现代特性,性能瓶颈明显。
    • 社区维护停止,存在安全漏洞风险。

4.x 版本

2017 年发布,目前已停止维护,不推荐生产环境使用

  • 关键特性:
    • 模块系统(Modules):支持第三方扩展(如 RedisjsON、RedisGraph 等),拓展功能生态。
    • 混合持久化(AOF-RDB Hybrid):重启时加载速度更快,减少数据丢失风险。
    • 过期键异步删除:避免大规模键过期时阻塞主线程。
  • 缺点:
    • 未引入多线程,高并发场景下性能受限。
    • 官方维护截止到 2021 年,安全性不足。

5.x版本

2019 年发布,维护至 2023 年,目前市场上很多公司正在使用该版本

  • 关键特性:
    • Redis Stream:正式引入流数据类型,支持发布 - 订阅、消息队列、消费者组等功能,替代传统的 Pub/Sub。
    • 异步复制改进:从节点支持部分重同步,减少全量复制开销。
    • 内置监控指标:通过 INFO 命令提供更详细的运行时统计信息。
  • 缺点:
    • 单线程模型未改变,多核 CPU 利用率低。
    • 已停止官方维护,仅推荐测试环境使用。

6.x 版本(生产环境推荐!!!)

LTS 版本,2021 年发布,维护至 2026 年。生产环境首选,尤其适合高并发、高吞吐量的业务(如缓存、实时分析)。

  • 关键特性:
    • 多线程 I/O:网络请求处理支持多线程(非数据处理多线程),大幅提升高并发场景下的吞吐量。
    • ACL 权限系统:替代传统密码认证,支持细粒度权限控制(如限制命令、键空间访问)。
    • 客户端缓存(Client-side Caching):减少客户端与服务端的交互次数,降低延迟。
    • RDB 加密:数据持久化时支持加密存储,保护静态数据安全。
  • China编程化点:
    • 改进集群节点通信协议,提升 Redis Cluster 的稳定性。
    • 增强内存管理,减少内存碎片。

7.x 版本

LTS 版本,2022 年发布,维护至 2028 年,需要分布式事务、海量数据存储(内存成本敏感)、复杂数据处理的场景(如实时数据库、物联网数据存储)。

  • 革命性特性:
    • 全局事务(Global Transactions):支持跨分片的分布式事务,保证多节点数据一致性。
    • 分层存储(Memory-Tiered Storage):热数据存储在内存,冷数据自动下沉到磁盘,降低内存成本。
    • Server-side Scripting 增强:Lua 脚本支持异步执行,避免阻塞主线程。
    • JSON 数据类型升级:原生支持 JSON 路径查询(JSONjavascriptPath)和部分更新,性能提升 50%+。
  • 其他改进:
    • 新的 EXACT 模式用于模糊查询,提升键扫描效率。
    • 支持 RESP3 协议,优化客户端与服务端交互格式。

安装部署Redis6.2.x版本

Redis下载地址:https://download.redis.io/releases/

环境信息

IP系统规格
10.37.97.56Ubuntu4c8g

下载解压

# 下载
[root@master ~]# wget https://download.redis.io/releases/redis-6.2.18.tar.gz
# 解压
[root@master ~]# tar -xvf redis-6.2.18.tar.gz

下载相关依赖并编译

# 下载编译工具
[root@master ~]# apt update && apt install -y gcc automake autoconf libtool make

下载工具说明

  • gcc:GNU 编译器套件,用于编译 C/C++ 代码。
  • automake:生成 Makefile.in 文件,辅助自动化构建。
  • autoconf:生成 configure 脚本,检测系统环境。
  • libtool:管理库文件的编译和链接,实现跨平台兼容。
  • make:构建工具,根据 Makefile 编译项目。

开始安装

[root@master ~]# cd redis-6.2.18/
[root@master ~/redis-6.2.18]# make
...
#这里会刷出大量的编译信息,稍等一会即可

配置环境变量

# 创建软连接
[root@master ~]# ln -s /root/redis-6.2.18 /root/redis
# 配置环境变量
[root@master ~]# echo "export PATH=$PATH:/root/redis/src" >> /etc/profile && source /etc/profile

创建数据目录,将redis配置文件copy至该目录下

# 创建数据目录
[root@master ~]# mkdir -p /data00/data/redis
[root@mandroidaster ~]# cp /root/redis/redis.conf /data00/data/redis/
# 创建日志目录
[roandroidot@master ~]# mkdir /var/log/redis

修改Redis配置文件

[root@master ~]# vim /data00/data/redis/redis.conf
# 第75行,修改远程访问地址
75:bind 0.0.0.0
# 第98行,修改端口号
98:port 6379
# 第259行,守护进程运行,默认位前台运行,需要修改为yes
259:daemonize yes
# 第304行,指定redis的日志
304:logfile "/var/log/redis/redis.log"
# 第329行,指定数据库的数量,默认是16个
329:databases 16
# 第433行,持久化的文件
433:dbfilename dump.rdb
# 第456行,设置redis的数据目录,和我们上面创建的路径保持一致
456:dir /data00/data/redis/
# 第903行,设置密码,建议不要使用弱密码
903:requirepass 123456

启动Redis

# 启动redis,指定启动的配置文件
[root@master ~]# redis-server /data00/data/redis/redis.conf
# 查看端口,检查是否启动成功
[root@master ~]# ss -lntup | grep 6379
tcp   LISTEN 0      511                           0.0.0.0:6379       0.0.0.0:*    users:(("redis-server",pid=1818909,fd=6))

连接redis

# 连接redis,-h指定IP,-p指定端口,-a指定密码
[root@master ~]# redis-cli -h 127.0.0.1 -p 6379 -a '!Xinxin123'
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> info
# Server
redis_version:6.2.18
...# 会打印很多日志信息

到此这篇关于Redis指南及6.2.x版本安装过程的文章就介绍到这了,更多相关Redis6.2.x安装内容请搜索编程China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持China编程(www.chinasem.cn)!

这篇关于Redis指南及6.2.x版本安装过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1154880

相关文章

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队