学习了下《Redis设计与实现》,总结下便于后面复习。
1 数据结构
五种数据类型、zset原理和应用、跳跃表的概念
2 单机数据库
redis过期策略、持久化、单线程
3 多机数据库
主从复制、断点续传、哨兵、集群的slot分配
redis集群中槽的概念:
1)判断键属于哪个节点
2)增加一台服务器
4 发布/订阅
(1)频道订阅:
(2)模式订阅
5 事务
redis事务的概念和mysql类似,意思是多个客户端的命令按事务的方式执行,每次把一个客户端的事务命令处理完毕再去处理下一个客户端事务。
通过MULTI、EXEC、WATCH等命令实现事务。
Redis的事务不支持回滚,而且多个命令在执行过程中,如果有些失败了,照样执行正常的命令,执行过的命令也不会回滚。——要这铁棒有何用
6 Redis单线程为什么这么快
参考:https://draveness.me/redis-io-multiplexing
redis使用了I/O多路复用技术,底层封装了多路复用方法,优先使用epoll,如果编译环境不支持epoll则使用select作为兜底方案。
可以在单台服务器上部署多个redis实例。