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

相关推荐
小猿姐4 小时前
实测对比:哪款开源 Kubernetes MySQL Operator 最值得用?(2026 深度评测)
数据库·mysql·云原生
倔强的石头_6 小时前
从 “存得下” 到 “算得快”:工业物联网需要新一代时序数据平台
数据库
TDengine (老段)7 小时前
TDengine IDMP 可视化 —— 分享
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据·时序数据
风吹迎面入袖凉7 小时前
【Redis】Redisson的可重入锁原理
java·redis
GottdesKrieges7 小时前
OceanBase数据库备份配置
数据库·oceanbase
SPC的存折8 小时前
MySQL 8组复制完全指南
linux·运维·服务器·数据库·mysql
运维行者_8 小时前
OpManager MSP NetFlow Analyzer集成解决方案,应对多客户端网络流量监控挑战
大数据·运维·服务器·网络·数据库·自动化·运维开发
炸炸鱼.9 小时前
Python 操作 MySQL 数据库
android·数据库·python·adb
softshow10269 小时前
Etsy 把 1000 个 MySQL 分片迁进 Vitess
数据库·mysql
Ronaldinho Gaúch10 小时前
MySQL基础
数据库·mysql