Redis是什么以及为什么使用Redis?

发布: (2026年1月7日 GMT+8 03:55)
4 min read
原文: Dev.to

Source: Dev.to

什么是 Redis?

Redis(Remote Dictionary Server)是一款开源的内存 NoSQL 数据库,以键/值对的形式存储数据。虽然它可以作为独立的数据库使用,但通常会与其他数据库配合使用,以提升性能。Redis 在需要实时、即时数据的场景中表现出色,例如排行榜、消息系统、游戏等。

已经有数据库了,为什么还要使用 Redis?

  • 内存速度 – 大多数数据驻留在 RAM 中,使 Redis 的延迟低于毫秒级。读写通常为 O(1),比基于磁盘的访问快 1,000–10,000 倍。
  • 缓存 – 常被请求的数据可以缓存到 Redis,显著降低响应时间,消除慢速数据源导致的瓶颈。
  • 易于集成 – 有超过 100 个开源客户端库支持多种编程语言。Redis 还提供 Redis SentinelRedis Cluster 等高可用特性,Redis Enterprise 则加入了集群、负载均衡等企业级服务。
  • 持久化选项 – 虽然其主要优势在于内存存储,但 Redis 可以通过 RDB 快照(以及 AOF 日志)将数据持久化到磁盘,以在作为独立数据库时实现数据持久性。
  • 多样的数据模型 – Redis 支持多种数据类型,适用于包括 AI 和大语言模型(LLM)工作负载在内的众多场景。

Redis 数据类型

  • String(字符串)
  • Hash(哈希)
  • List(列表)
  • Set(集合)
  • Sorted set(有序集合)
  • Vector set(向量集合)
  • Stream(流)
  • Bitmap(位图)
  • Bitfield(位域)
  • Geospatial(地理空间)
  • JSON(JSON)
  • Probabilistic data types(概率数据类型)
  • Time series(时间序列)

基本 Redis 命令

注意: 命令关键字传统上使用大写书写,但 Redis 对大小写不敏感,任意形式均可接受。

设置和获取值

SET name Joy
# returns OK
GET name
# returns "Joy"

过期

为键设置 60 秒的生存时间(TTL):

SET name Joy EX 60

移除过期时间(使键永久):

PERSIST name

删除键

DEL name

检查是否存在

EXISTS name
# returns 0 if the key does not exist, 1 if it does

列表操作(push/pop)

向列表的左侧(头部)或右侧(尾部)推入元素:

LPUSH mylist "first"
RPUSH mylist "last"

从左侧或右侧弹出元素:

LPOP mylist   # removes and returns the first element
RPOP mylist   # removes and returns the last element

这些示例仅覆盖了 Redis 命令集的一小部分,但它们展示了在应用中开始使用 Redis 是多么直接。完整的参考请查阅官方的 Redis documentation

Back to Blog

相关文章

阅读更多 »