
redis
yanerhao
信雅之言,微言大意
展开
-
Redis常见数据结构分析
SDS:应用广泛。空间预分配和惰性删除;ZIPLIST:列表+哈希+有序集合。连续扩散;INTSET:集合。类型升级;DICT:哈希+集合+有序集合(和快表一起)/pubsub_channles/keys/expire_keys/watched_keys/matsers/sentinels/nodes/客户端命令表。rehash;SKIPLIST:有序集合。LIST:列表/时间...原创 2020-04-25 22:13:37 · 150 阅读 · 0 评论 -
REDIS 快的原因及缓存三大问
快的原因:1 纯内存操作 没有磁盘IO;2 底层数据结构简单,且对于不同对象根据实际情况采用效率更高的不同的数据结构,操作更高效;3 单线程,子进程,避免多线程带来的上下文切换和资源竞争(V6版本引入多线程 也只是在网络IO时加入多线程多写)4 多路IO复用。三大问:REDIS作为数据库缓存时有可能发生的现象:雪崩:缓存的大量数据同时过期,导致大量请求同时访问数据库,导致...原创 2020-04-25 22:06:39 · 269 阅读 · 0 评论 -
REDSI淘汰策略
针对带过期时间的:LRU-volatileLFU-volatileTTL-volatile(最先一个过期的)LRU-volatile普通的KEY:LRU-allkeysLFU-volatilerandom-volatile以及noeviction原创 2020-04-25 21:55:54 · 198 阅读 · 0 评论 -
Redis拒绝写入的几种情况
1 正在载入数据2 上次bgsave err 以及开启了stop_write_on_bg_save_error3 客户端正使用subscribe psubscribe4 Lua脚步正阻塞5 客户端正执行事务6 max-memroy达到且policy为noevicion7 不满足“至少有min-slaves-to-write个从服务器, 并且这些服务器的延迟值都少于...原创 2020-04-25 21:53:35 · 800 阅读 · 0 评论 -
Redis 哨兵选举故障转移与集群选举故障转移区别
哨兵选举与故障转移:主要针对非集群模式下主从模式,由哨兵负责。哨兵发现主下线后,哨兵发起选举,其余哨兵负责投票,选出一个哨兵作为故障转移的Leader, 由这个leader哨兵完成故障转移集群选举与故障转移主要针对集群模式下的主从,由主的从负责。一个从发现主下线后,主发起选举,其他有资格的主(有槽的)负责投票,选出一个从作为新主,新主完成故障转移包括槽重新分配。选举算法均是R...原创 2020-04-25 21:45:18 · 630 阅读 · 0 评论 -
redis的docker文件,通过docker-compose配置redis
准备环境:docker 18.06.1-cedocker-compose 1.23.0-rc3redis如5.0.31 创建redis的dockerfileFROM redis:5.0.3LABEL "maintainer"="xx@yy"ENV TIME_ZONE=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TIME_Z...原创 2020-03-26 15:07:18 · 2030 阅读 · 0 评论 -
redis里几种主要结构
redis server进场就是一个时间循环,包括文件事件处理客户端请求和返回;时间时间执行serverCron函数来进行过期键、rdb或aof重写存储等。def eventLoop(): while True: processFileEvents() processTimeEvents() flushAof()struct red...原创 2019-12-16 16:40:39 · 291 阅读 · 0 评论