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核心大部分重构)