Remote Dict Serve
分类
-
实时同步数据
要求缓存中的数据必须与db中的数据保持一致,如何保证,只要DB发生了变化,缓存中的数据立即消息
- 阶段性缓存
为了缓存数据 添加了生存时长属性
Redis 的特性。
性能极高 读的速度 11w/s 写的速度 8w次/s
原因
1、因为是内存中发生的。
2、Redis 是语言开发的。
3、Redis 源码非常精细。(集性能与优雅与一身)
简单稳定。
Redis 源码很少 早起版本 只有2w行左右。 从3.0版本增加了集群。代码变为了5w行左右
持久化
Redis 内存中的数据可以进行持久化,RDB 与AOF
高可用集群。
Redis 提供了高可用的主从类型,可以确保系统的安全性
丰富的数据类型。
Redis 是一个key-value存储系统,支持存储的value类型很多,包括sting(字符串) list(链表) Set (集合) Zset(sorted set--有序集合)和Hash(哈希类型)等 BitMap HyperLogLog Geospatial类型
BitMap:一般用于大数据量的二值性统计
HyperLogLog:其实Hyperlog Log 用于对数据量超级庞大的日志 做去重统计
Geospatial:地理空间 其主要用于地理位置 相关的计算。
强大的功能。
数据过期 生存时长。发布/消息订阅,事务(简单) lua
客户端语言广泛
Redis 提供了简单的TCP通信协议。编程语言可以很方便的介入Redis 所以有很多的开源社区、大公司开发除了很多语言的Redis 的客户端
支持ACL 权限控制
从Redis6 开始引入了ACL模块 针对不同用户。定制不同权限,之前的比较笨拙
ACL : Access Control List 访问控制列表,是一种细粒度的权限管理策略,可以针对任意用户与组进行权限控制。目前大多数Unix 系统与Linux 2.6版本已经支持ACL了。
Zookeeper 早已支持ACL了
Unix 与Linux系统默认使用UGO (User Group Other)linux也是采取这样的 权限控制策略。其实一种粗粒度的权限策略
支持 多线程IO模型
Redis 之前版本采用了单线程模型,从6.0版本开始支持了多线程模型。