redis
文章平均质量分 58
shandadadada
这个作者很懒,什么都没留下…
展开
-
redis设计与实现-数据库
1.概述2.实现3.总结原创 2020-05-15 15:24:39 · 471 阅读 · 0 评论 -
Redis安装和简单测试
系统环境和版本说明操作系统选用Ubuntu 14.04, Redis的版本选取目前的最新稳定版本2.8.9. 客户端选用了Redis的Java版本jedis 2.4.2.Redis的安装步骤a. 下载Redis的安装包wget http://download.redis.io/releases/redis-2.8.9.tar.gz b. 在目录下,解压按照包,生成新的目录redis-2.8.9t原创 2015-07-31 18:10:15 · 464 阅读 · 0 评论 -
redis设计与实现
1、问题2、源码解读3、参考文章如何阅读redis源码:http://blog.huangz.me/diary/2014/how-to-read-redis-source-code.html原创 2020-04-22 11:13:00 · 205 阅读 · 0 评论 -
redis设计与实现-事务
1.概述redis通过MULTI、EXEC、WATCH等命令来实现事务功能。事务以MULTI命令开始,最后由EXEC命令将事务提交给服务器。WATCH命令是一个乐观锁,它可以再EXEC命令执行之前,监视任意数量的数据库key,并在EXEC命令执行的时候,检测是否有某个key被修改过了,如果是,服务器将拒绝事务,并向客户端返回执行失败的响应。2.实现事务的实现分为三个阶段:1)事务的开始2)命令入队列3)事务执行2.1 事务开始MULTI命令可以将执行该命令的客户端非事务状态切原创 2020-05-29 15:34:15 · 276 阅读 · 0 评论 -
redis设计与实现-对象
redis设计与实现-对象原创 2020-05-25 20:07:57 · 181 阅读 · 0 评论 -
redis设计与实现-集群
1.概述除了sentinel方式,redis集群是redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。2.实现2.1 节点2.2 槽指派2.3 在集群中执行命令2.4 重新分片2.5 ask2.6 复制和故障转移2.7 消息3.总结集群中的16384个槽可以分别指派给集群中的各个节点,每个节点都会记录哪些槽指派给自己,哪些槽又被指派给了其他节点 节点在接收到一个命令请求时,会先检查这个命令请求要处理的键所在原创 2020-05-17 19:11:07 · 180 阅读 · 0 评论 -
redis设计与实现-Sentinel
1.概述SENTINAL启动多个哨兵实例监控,设置探活时间间隔,超时时间,超过多少个哨兵实例失败则切换切换主节点。2.实现切换步奏:修改slave的配置文件,删除slave of ,修改master节点配置文件,加入slave of。3.总结...原创 2020-05-17 18:57:01 · 185 阅读 · 0 评论 -
redis设计与实现-Reactor模型的应用
1.概述2.实现3.总结原创 2020-05-17 15:43:12 · 918 阅读 · 0 评论 -
redis设计与实现-RDB与AOF持久化
1.概述2.实现3.总结原创 2020-05-15 17:17:18 · 180 阅读 · 0 评论 -
redis设计与实现-压缩列表
1.概述redis中的hash,list,zset在数据量小的时候都使用压缩列表ziplist。2.压缩列表的实现3.总结压缩列表就是对每个节点都记录长度、encoding、内容,有点像网络传输中协议定义一样,用几个字节保存报文长度,然后根据报文长度读取报文内容。...原创 2020-05-14 23:33:36 · 160 阅读 · 0 评论 -
redis设计与实现-整数集合
1.概述整数集合(intset)并不是一个基础的数据结构,而是Redis自己设计的一种存储结构,是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时, Redis就会使用整数集合作为集合键的底层实现。2.整数集合的实现2.1 源码://每个intset结构表示一个整数集合typedef struct intset{ //编码方式 uint32_t encoding; //集合中包含的元素数量 uint32_t length;原创 2020-05-14 23:25:46 · 228 阅读 · 0 评论 -
redis设计与实现-跳跃表
1.概述原创 2020-05-07 18:40:27 · 195 阅读 · 0 评论 -
redis设计与实现-字典
1.概述2.原创 2020-05-07 18:39:55 · 129 阅读 · 0 评论 -
redis设计与实现-链表
1.链表与链表节点的实现原创 2020-05-07 18:38:14 · 146 阅读 · 0 评论 -
redis设计与实现-SDS动态字符串
1.SDS定义2.SDS与C字符串的区别3.总结对比C字符串,SDS有以下优点:获取字符串的长度的复杂度O(1) 杜绝缓冲区溢出 减少修改字符串时所需的内存重分配次数 二进制安全 兼容部分C字符串函数...原创 2020-05-07 18:33:14 · 171 阅读 · 0 评论