《redis开发与运维》
http://www.ruanyifeng.com/blog/2018/07/cap.html
Redis是基于键值对(key-value)的NoSQL数据库,国内外大量公司都在使用Redis。
Redis受到如此多公司的青睐,主要有几个特性:
1.速度快
官方给出的性能10w/s,主要有几个原因:
2.基于键值对的数据结构服务器
几乎所有的编程语言都提供了类似字典的功能,例如Java里的map、Python里的dict,类似于这种组织数据的方式叫作基于键值的方式,与很多键值对数据库不同的是,Redis中的值不仅可以是字符串,而且还可以是具体的数据结构:字符串、哈希、列表、集合、有序集合
3.丰富的功能
6种内存淘汰策略,当内存满的时候才会选取策略删除key
对于缓存来说,键过期需要删除,目前常用的有3种删除过期键策略
目前,Redis采用的是惰性删除+定期删除的方案;
内存淘汰策略用于处理内存不足时的需要申请额外空间的数据;过期策略用于处理过期的缓存数据。
4.稳定
5.客户端语言多
6.持久化:AOF和RDB两种方式
7.主从复制
8.高可用和分布式
分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标。
Eric Brewer 说,这三个指标不可能同时做到。这个结论就叫做 CAP 定理。
通常说zookeeper是CP, redis是AP