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 命令可以实现高并发的阅读量、点赞数等计数功能。

相关推荐
这个DBA有点耶1 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G1 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备1 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远1 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
IT大白鼠1 天前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz1 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
2601_962218611 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
全栈弄潮儿²⁰²⁴1 天前
AI Agent 开发实战(30):限流、缓存与成本控制
人工智能·gpt·缓存·agent·限流·agi·成本控制
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安1 天前
MySQL-触发器
数据库·mysql