Redis 是一个开源的高性能键值对存储系统,它支持多种类型的数据结构,如字符串(strings)、列表(lists)、哈希(hashes)、集合(sets)、有序集合(sorted sets)、位图(bitmaps)、超日志(hyperloglogs)和地理空间(geospatial)索引。Redis 能够用作数据库、缓存和消息中间件,具备复制(replication)、LUA 脚本、事务(transactions)、多种级别的磁盘持久化以及通过 Redis Sentinel 和 Redis Cluster 提供的高可用性。
Redis 的主要特点包括:
-
**高性能**:由于数据存储在内存中,Redis 提供极快的读写操作。
-
**数据结构多样**:支持丰富的数据结构,提供丰富的操作命令。
-
**持久化**:支持快照和追加文件两种持久化方式,保证数据安全性。
-
**发布/订阅**:支持发布/订阅模式,适用于消息队列和实时通信。
-
**事务支持**:提供事务功能,确保操作的原子性。
-
**主从复制**:支持主从复制,实现数据的分布式存储和高可用性。
Redis 的功能和作用非常广泛,包括但不限于:
-
缓存:提高数据读取速度,降低后端数据库的压力。
-
会话存储:存储用户会话,避免每次重新登录。
-
排行榜:利用有序集合等数据结构实现各种排行榜功能。
-
实时分析:支持高频率的读写操作,适用于实时数据分析。
-
消息队列:使用发布/订阅模式实现异步消息队列。
2024 年的最新动态:
-
Redis 7.0 版本发布,这是 Redis 历史上改变最多的一个大版本,包含了 50 多个新命令和大量核心新特性与改进。
-
Redis 7.0 引入了 Function 命令族,这是 Redis 脚本方案的全新实现,允许用户向 Redis 加载自定义的函数库,并且明确会进行主从复制和持久化存储。
-
Redis 7.0 新增了 maxmemory-clients 配置项,用以限制所有 client 使用的内存,超过限制会选择内存消耗最大的 client 释放,以缓解内存使用的消耗。