Redis
Redis(Remote Dictionary Server)是一款开源的基于内存的键值对数据存储系统,支持字符串、列表、哈希、集合、有序集合等多种数据结构。常用于缓存、会话管理、消息队列、实时排行榜等场景。Redis以高性能、低延迟著称,支持数据持久化、主从复制及集群模式,广泛应用于互联网后端架构中以提升系统响应速度和吞吐能力。
核心事实
时间轴 (近 90 天)
Runtime Cache 的底层架构为 Go API 处理请求,每个 Vercel 区域背后是 Redis 集群。
Java岗位招聘要求中常出现Spring Boot、Spring Cloud、MyBatis、Kafka、Redis、Elasticsearch等组件。
Redis 协议层面的 hash tag 机制通过将 key 中需要共槽的部分用花括号包裹,使哈希函数只计算花括号内的内容,从而保证同一用户的全部 key 落在同一个槽。
Redis 集群固定使用 16384 个哈希槽,取模对象固定为 16384 而非当前服务器数量。
Dragonfly 是 Redis 协议的直接替代品,使用普通 ioredis 客户端只需改连接 URL 即可迁移。
Pipeline 是 Redis 协议层面的批量提交机制,将多条命令一次性写入 TCP 连接,服务端按序执行后打包返回结果,但不等于事务,不保证原子性。
Redis 集群的槽位分配使用 CRC16 哈希函数,而非 SHA 系列。
博主引用的对比数据显示 Dragonfly 的 QPS 达到 Redis 的 25 倍。
幂等设计保证同一请求ID的重复调用返回相同结果,而不会重复扣减库存或生成多笔订单;常见实现包括数据库唯一约束、Redis去重键(如SETNX)以及请求指纹比对。
常见 Checkpointer 实现包括 InMemorySaver(仅进程内有效,适合测试)和基于 SQLite/Postgres/Redis 的持久化实现(适合生产)。
还有 40 条时间轴事件
全部知识事实 (20)
Agent的记忆系统通常分为三个层次:工作记忆(当前对话上下文窗口)、短期记忆(近期交互历史)和长期记忆(通过向量数据库持久化存储)
80%已验证Dify的核心架构采用微服务设计,通过Docker Compose将API服务、Worker、Web前端、PostgreSQL、Redis和向量数据库等组件解耦部署
80%已验证企业级Agent系统通常会引入外部记忆模块(如向量数据库)来存储长期记忆,以突破上下文窗口限制
75%已验证WebSocket协议建立持久化双向通信通道,服务器可主动向客户端推送数据,延迟可低至毫秒级
70%已验证MongoDB是面向文档的NoSQL数据库,以JSON-like的BSON格式存储数据
70%已验证Session Service管理对话级别的短期记忆(消息历史、工具调用结果、中间推理状态),Memory Bank提供跨会话的长期记忆能力
65%已验证在Agent框架中,Checkpointing将当前执行状态序列化并持久化到外部存储(数据库或Redis),同时挂起执行线程,待人工输入后恢复
65%已验证RAGFlow依赖Elasticsearch(全文检索)、Redis(缓存)、MySQL(元数据存储)等多个服务
65%已验证Salvatore Sanfilippo于2009年创建了Redis项目,最初是为了解决他在开发实时Web分析系统LLOOGG时遇到的性能问题
65%已验证Redis所有命令在一个主线程中串行执行,采用单线程事件驱动架构
65%已验证RAGFlow基于Docker容器化部署,启动后运行五个容器:Redis、MinIO、MySQL、Elasticsearch和RAGFlow Server
65%已验证Celery的核心架构由Producer、Broker和Worker三个组件构成,Broker通常使用Redis或RabbitMQ
65%已验证LangGraph的长期存储支持多种后端,包括PostgreSQL用于结构化数据、Pinecone和Chroma等向量数据库用于语义检索、Redis用于高速缓存
65%待验证antirez stepped down as Redis maintainer in 2020
90%待验证防止重复扣费的幂等性实现方案包括数据库唯一约束、状态机检查、Redis分布式锁和乐观锁版本号
90%待验证Redis 6.0后引入了I/O多线程,但命令执行仍然是单线程的
90%待验证Redis的SCAN命令使用反向二进制迭代(reverse binary iteration)的游标推进算法
90%待验证Redis 7.0后将紧凑内存编码格式统一为listpack
90%待验证Redis在4.0版本(2017年)引入了模块系统(Modules API),允许第三方通过动态加载方式扩展自定义数据类型
90%待验证Redis此前在KEYS和SCAN命令中使用的是简单的glob风格模式匹配,仅支持*、?、[]等通配符
90%