1、CAP原理
- C:Consistency(强一致性)
- A:Availability(可用性)
- P:Partition tolerance(分区容错性)
没有NoSQL系统能同时保证这三点。
CA 传统Oracle数据库
AP 大多数网站架构的选择
CP Redis、Mongodb
注意:分布式架构的时候必须做出取舍。
一致性和可用性之间取一个平衡。多余大多数web应用,其实并不需要强一致性。
因此牺牲C换取P,这是目前分布式数据库产品的方向。
2、基础知识
- Redis是单进程模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。
- 默认16个数据库,类似数组下表从零开始,初始默认使用零号库。
- Select id命令切换数据库。
- Dbsize查看当前数据库的key的数量。
- Flushdb:清空当前库。
- Flushall;清空全部库
- 统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上。
- Redis索引都是从零开始。
- 默认端口是6379。
3、Redis的五大数据类型
- String(字符串)
- Hash(哈希,类似java里的Map)
- List(列表)
- Set(集合)
- Zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。
redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。