Redis

redis_database2026-09-10 22:40:26

Redis 是一种以内存为主要工作介质的数据存储,可用作数据库、缓存、流处理引擎和消息代理。它通过键访问数据,并为字符串、哈希、列表、集合、有序集合、流等数据类型提供原生命令和原子操作。

数据模型

Redis 的键用于定位数据,值可以是不同的数据结构。应用通常根据业务操作选择合适的数据类型,例如用字符串保存简单值、用哈希保存字段集合、用集合表达不重复成员、用有序集合按分数排序。

这种模型适合围绕明确键进行读取和更新。与关系型数据库不同,Redis 不以表、行、外键和通用 SQL 关联查询作为主要抽象。

常见用途

  • 缓存热点数据,减少对后端数据库或外部服务的重复访问。
  • 保存会话、验证码、限流计数器和具有过期时间的临时数据。
  • 实现排行榜、集合运算、消息流等与其数据结构相匹配的功能。
  • 在数据模型合适时作为主数据库使用,但需要单独评估容量、持久化和恢复要求。

持久化与可用性

Redis 的持久化机制包括 RDB 快照、AOF 日志、两者结合或关闭持久化。不同配置在性能、恢复速度和可接受的数据丢失量之间取舍。

Redis 还提供复制能力,但复制、持久化和备份解决的是不同问题。设计生产系统时,需要根据数据能否重建、允许丢失多少数据以及恢复目标选择配置。

使用边界

Redis 的数据集通常受可用内存约束,单位容量成本可能高于以磁盘为主要存储介质的数据库。扫描大量元素、返回大结果或执行耗时操作也可能增加延迟。因此,是否使用 Redis 应根据访问模式、数据规模和可靠性要求决定,而不是只依据单次操作速度。

本页目录