![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
Super_Sloppy
圈圈1779487488,欢迎交流
展开
-
Redis设计与实现笔记--独立功能的实现(四)
1.发布与订阅订阅有两种,频道订阅和模式订阅2.事务以MULTI命令开始,把多个命令放入事务中,最后由EXEC命令将事务提交WATCH命令是一个乐观锁,在EXEC执行之前,监视任意数量的数据库键。并在EXEC执行前,检查被监视的键是否有被修改,是的话将拒绝执行事务。监视的键被修改的话,会打开客户端REDIS_DISRTY_CAS标识事务的ACID性质(这个很重要,有很多地方会出现)redis总是具有ACI性质,不一定有D性质原子性Atomicity:.原创 2020-07-17 14:40:01 · 166 阅读 · 0 评论 -
Redis设计与实现笔记--多机数据库(三)
1.复制旧版复制功能实现同步①从服务器向主服务器发送SYNC命令②主服务器收到SYNC后开始执行BGSAVE命令,生成RDB文件,在此期间用缓冲区记录执行的写命令③把RDB文件发给从服务器,并载入④把缓冲区的写命令发送给从服务器,从服务器执行,更新至主服务器当前状态命令传播主服务器所有写命令都会传播给从服务器旧版本缺陷SYNC命令是非常耗费资源的,在初次复制时能很好地完成,但在中途下线后又上线,缺失的只是一部分信息,不需要所有资源同步,再次执行SYNC就显得低原创 2020-07-16 21:18:22 · 123 阅读 · 0 评论 -
Redis设计与实现笔记--单机数据库(二)
1.数据库默认情况下,redis初始化会创建16个数据库键空间是个字典,所有数据库操作都是对这个字典进行操作读写时的维护操作 读取一个键后(读写操作都要先读),更新键命中次数或者不命中次数 读取一个键后,更新键的LRU时间 读取时发现键过期,会先删除这个键 WATCH命令监视时,对键修改,会标记为脏 修改键后,对脏键计数+1,这会触发服务器持久化以及复制操作 ...原创 2020-07-10 15:30:11 · 210 阅读 · 0 评论 -
Redis设计与实现笔记--数据结构与对象(一)
简单动态字符串SDS原创 2020-07-08 20:29:06 · 227 阅读 · 0 评论