redis简介
-
全称 Remote Dictionary Server
-
用途
- 缓存热点数据
- 可设置过期时间和淘汰策略
- 热度排行榜
- 加一计数器
- 消息队列
- 缓存热点数据
-
主要特性
-
读写性能可达10万/秒
- 所有数据都放在内存中,而内存响应速度在100ns级别
- 基于单线程架构,避免了线程切换和竞态条件下锁的开销
- 单线程的缺点: 如果某个命令执行过久,就会阻塞其他命令
- 使用epoll作为I/O多路复用技术
- 底层使用C语言实现
-
按照
键-值 对来存储数据- 键key —— 只能是String字符串类型
- 值value
- 五种基本结构
- String —— 字符串
- List —— 列表
- Set —— 唯一集合
- Zset —— 有序集合
- Hash —— 哈希散列
- 演变结构
- Bitmaps —— 位图
- HyperLogLog
- 新增结构
- Stream —— 流/队列
- 五种基本结构
-
数据可持久化到硬盘
- RDB
- AOF
-
-
标志性版本
- 2.6 —— 2012年
- 键过期时间支持毫秒级
- 从节点支持只读
- 3.0 —— 2015年
- 支持Cluster分布式实现
- 4.0 —— 2017年
- 支持模块系统,方便第三方扩展
- 非阻塞del和flushdb
- 提供RDB-AOF混合持久化
- 5.0 —— 2018年
- Stream流数据类型
- 6.0 —— 2020年
- 权限管理功能ACL
- 多线程IO处理网络读写
- 7.0 —— 2022年
- 支持Redis函数
- 基于密钥的ACL
- 2.6 —— 2012年