Redis:内存数据结构服务器

74,853 个 Star,缓存和数据库领域的标杆项目。

正文顶部截图

Redis 是一个开源的内存数据结构服务器,广泛用于缓存、会话管理、消息队列和实时分析等场景。数据主要存储在内存中,读写延迟通常在亚毫秒级别。

README区域截图

核心数据类型

Redis 提供的数据结构远不止简单的键值对:

  • String:字符串、计数器、位操作
  • Hash:字段-值映射,适合存储对象
  • List:有序链表,用作栈和队列
  • Set:无序唯一集合,支持交集、并集、差集
  • Sorted Set:按分数排序的集合,适合排行榜
  • JSON:嵌套文档,支持 JSONPath 查询
  • Stream:追加日志,支持消费者组
  • Geospatial:地理位置索引,支持范围查询
  • Time Series:时序数据,用于监控和分析

除了基本类型,Redis 还内置了 Bloom Filter、HyperLogLog、T-digest 等概率数据结构,以及通过 modules API 扩展的搜索和向量检索能力。

典型使用场景

缓存是最常见的用途,Redis 支持多种淘汰策略和键过期机制。会话管理方面,可以用 String、JSON 或 Hash 灵活建模用户会话数据。消息队列场景下,List 提供基础的队列功能,Stream 则支持更复杂的消费模式和事件溯源。

近年来 Redis 在 AI 领域的应用也在增长。它可以作为 LLM 的短期和长期记忆存储,支持语义缓存、RAG 内容检索和向量相似度搜索,与 LangGraph、mem0 等框架集成。

上手方式

最简单的方式是通过 Docker 启动一个实例:

docker run -d -p 6379:6379 redis:latest

也可以通过 Snap、Homebrew、RPM 或 Debian 包安装。Redis 提供了 Python、Go、Java、JavaScript、C# 等主流语言的客户端库。命令行工具 redis-cli 可以直接与 Redis 交互:

redis> set foo bar
OK
redis> get foo
"bar"
redis> incr mycounter
(integer) 1

从源码编译

Redis 支持在 Ubuntu、Debian、AlmaLinux、Rocky Linux、Alpine 和 macOS 上从源码构建。以 Ubuntu 为例,安装依赖后执行 make 即可完成编译。编译时设置 BUILD_WITH_MODULES=yes 可以启用全部模块,包括搜索和向量检索功能。Redis 8.0 版本起,原 Redis Community Edition 更名为 Redis Open Source。

0 版本起,原 Redis Community Edition 更名为 Redis Open Source。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐