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. 应用场景
3. Redis迭代演化
Redis从发布至今, 一直遵循着自己的命名规则:
版本号第二位如果是奇数, 则为非稳定版本 如2.7、2.9、3.1
版本号第二位如果是偶数, 则为稳定版本 如2.6、2.8、3.0、3.2
4. Redis7新特性
2022年4月正式发布Redis7.0, 它是目前Redis历史版本中变化最大的版本, 首先它有超过50个的新增命令, 其次带来大量的新特性和改进。
- config命令增强
- 限制客户端内存占用使用
- 多AOF文件支持
- ACL v2(访问安全性增强)
- 新增命令(如新增ZMPOP, BZMPOP, LMPOP BLMPOP等新命令)
- listpack替代ziplist
- Redis Functions
- RDB保存时间调整(持久化RBD的保存规则发生变化)
- 性能安全改进(比如主动碎片整理增强, HyperLogLog改进, Redis核心大部分重构)