redis总结

优点
1、支持数据类型丰富
2、可以持久化操作
3、操作都是原子性的
4、支持发布订阅,类似消息队列
5、支持主从复制
6、性能高

缺点
1、内存管理开销大    (不要超过内存的3/5)
2、buffer io 造成内存溢出

数据类型
string
list
set
有序集合 sourted set
hash
持久化
1、使用快照的方式,将内存中的数据不断写入磁盘。
2、使用类似MySQLbinglog(aof)方式,记录每次更新的方式。
前者性能更高,但是可能会造成数据丢失,后者相反。

应用场景
1、内存服务
2、替代memcached
3、对数据一致性有一定要求
4、主从同步和负载均衡的要求
5、需要key/value以外更多的要求

主从复制

1、redis使用异步同步,告知数据已经收到
2、master可以拥有多个slave
3、slave可以接受其他slave的连接,可以级联;slave可以后面挂多个slave
4、同步的时候对客户端来说是可以继续的,非阻塞的。同步的时候是可以接受客户端的请求。

主从同步过程
1、slave 连接到master
2、slave发送sycn命令
3、master 开启一个子进程,以快照的方式将数据备份到rdb文件。同时主进程还会搜集新的写命令并缓存起来。
4、master传输rdb文件
5、slave导入rdb数据到数据库
6、master这时候就会把缓存的命令转发给slave。slave更新内存数据库。后续master收到的写命令都会通过开始建立连接发送给slave。
#初次同步完成

1、master将更新的快照直接实施一次发送给各个slave。
#以后的同步实现

但不管什么原因导致slave和master端口重连都会重复以上两个步骤的过程。


#注意没有binlog文件
#slave端需要配置master端口、地址



posted on 2016-03-24 19:52  xj_aha  阅读(187)  评论(0编辑  收藏  举报

导航