Skip to content

Redis入门 ​

Redis(Remote Dictionary Server)是完全开源的, 使用C语言编写的, 一个高性能的内存数据结构存储系统。
它还支持丰富的数据结构, 如字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 带有范围查询的 有序集合(sorted sets), bitmaps, hyperloglogs和地理空间(geospatial)索引, 同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性, 提供了主从模式、Redis Sentine和Redis Cluster集群架构方案。

1. 优势 ​

  • 高性能, 采用单线程模型和异步I/O, 避免了多线程的竞争和阻塞, Redis能够达到读速度11W/s,写速度8.1W/s
  • 数据类型丰富, 除了key-value类型数据, 同时还提供list,set,zset,hash等数据结构
  • 发布/订阅, 可以用作消息代理。
  • 事务支持
  • 分布式缓存
  • 支持数据持久化, 可以将内存中的数据保持在磁盘中, 重启的时候可以再次加载使用
  • 支持数据主备, 哨兵, 集群

2. 应用场景 ​

Alt text

3. Redis迭代演化 ​

Alt text Redis从发布至今, 一直遵循着自己的命名规则:
版本号第二位如果是奇数, 则为非稳定版本 如2.7、2.9、3.1
版本号第二位如果是偶数, 则为稳定版本 如2.6、2.8、3.0、3.2

4. Redis7新特性 ​

2022年4月正式发布Redis7.0, 它是目前Redis历史版本中变化最大的版本, 首先它有超过50个的新增命令, 其次带来大量的新特性和改进。

  1. config命令增强
  2. 限制客户端内存占用使用
  3. 多AOF文件支持
  4. ACL v2(访问安全性增强)
  5. 新增命令(如新增ZMPOP, BZMPOP, LMPOP BLMPOP等新命令)
  6. listpack替代ziplist
  7. Redis Functions
  8. RDB保存时间调整(持久化RBD的保存规则发生变化)
  9. 性能安全改进(比如主动碎片整理增强, HyperLogLog改进, Redis核心大部分重构)

5. Valkey内存数据库 ​

2024年3月,Redis公司宣布从Redis7.4开始只维护和发布企业版数据库产品,不再有开源版本。对此,Linux基金会和Redis社区的开发者们将Redis开源版本7.2进行分支,创建了新的Valkey项目。Valkey的官网是:https://valkey.io/。