Redis详解

Redis 的核心定义

Redis 的全称是 Re mote Di ctionary S erver(远程字典服务)。它是一个开源的、基于内存的 键值对存储系统

基于内存:所有数据主要存储在内存中,这使得它的读写速度非常快(通常达到微秒级别)。这是 Redis 高性能的根本原因。

键值存储:数据模型非常简单,通过一个唯一的 Key 来存取一个 Value。但这个 Value 不仅仅是字符串,它支持多种数据结构。

数据结构服务器:这是 Redis 最强大的地方。它不仅仅是简单的 Key-String,而是提供了丰富的数据类型,如 String(字符串)、List(列表)、Hash(哈希/字典)、Set(集合)、Sorted Set(有序集合)等。你可以对这些数据类型执行原子操作

Redis 的主要特性与优势

极致性能:内存访问 + 单线程架构(避免上下文切换和竞争条件)+ 高效数据结构 = 极高的吞吐量和极低的延迟。

丰富的数据结构:如前所述,这使得你可以直接将业务对象(如用户信息、商品列表、排行榜)映射到 Redis 的数据结构上,操作起来非常直观和高效。

持久化:虽然数据在内存,但 Redis 提供了两种持久化机制(RDB 和 AOF),可以将内存数据保存到磁盘,防止数据丢失。

高可用和分布式:通过 Redis Sentinel(哨兵)实现高可用,通过 Redis Cluster(集群)实现数据分片和横向扩展。

支持发布/订阅:可以作为轻量级的消息队列使用。

Redis 的典型使用场景

缓存:这是 Redis 最最主要的用途。将数据库中的热点数据缓存在 Redis 中,极大地减轻后端数据库的压力,提升应用响应速度。

会话存储:将用户会话(Session)存储在 Redis 中,特别适用于分布式 Web 服务,可以方便地实现会话共享。

排行榜:利用 Sorted Set 可以轻松实现实时排行榜功能。

消息队列:使用 List 的 LPUSH/BROP 命令可以实现简单的消息队列。还有更专业的 Stream 类型。

社交网络:使用 Set 可以实现关注、粉丝、共同好友等功能。

计数器:利用 String 的 INCR 命令可以实现高并发的阅读量、点赞数等计数功能。

相关推荐
ManageEngineITSM4 小时前
技术的秩序:IT资产与配置管理的现代重构
大数据·运维·数据库·重构·工单系统
档案宝档案管理6 小时前
档案宝:企业合同档案管理的“安全保险箱”与“效率加速器”
大数据·数据库·人工智能·安全·档案·档案管理
wangjialelele7 小时前
mysql库操作二
数据库·mysql
Chloeis Syntax7 小时前
MySQL初阶学习日记(1)--- 数据库的基本操作
数据库·学习·mysql
workflower8 小时前
FDD(Feature Driven Development)特征驱动开发
大数据·数据库·驱动开发·需求分析·个人开发
明月与玄武8 小时前
前端缓存战争:回车与刷新按钮的终极对决!
前端·缓存·回车 vs 点击刷新
韩立学长8 小时前
基于Springboot的旧物公益捐赠管理系统3726v22v(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
JH30739 小时前
《Redis 经典应用场景(一):缓存、分布式锁与限流》
redis·分布式·缓存
苦学编程的谢9 小时前
Redis_4_常见命令(完)+认识数据类型和编码方式
数据库·redis·缓存