随笔分类 -  Redis

摘要:概要 1. Redis Modules System基本概念 2. 基本应用 3. 参考资料 1. Redis Modules System基本概念 Redis Modules System是4.0出现一大改动点,使得可以通过外部模块对Redis进行功能性扩展。 Redis的模块采用的是动态链接库的 阅读全文
posted @ 2017-07-26 20:49 Jabnih 阅读(6616) 评论(0) 推荐(1) 编辑
摘要:转载请注明出处:http://www.cnblogs.com/jabnih/ 1. 基本原理 1.1 为什么会出现Pipeline Redis本身是基于Request/Response协议的,正常情况下,客户端发送一个命令,等待Redis应答,Redis在接收到命令,处理后应答。在这种情况下,如果同 阅读全文
posted @ 2017-07-12 22:09 Jabnih 阅读(14171) 评论(3) 推荐(1) 编辑
摘要:Redis事务原理分析 基本应用 在Redis的事务里面,采用的是乐观锁,主要是为了提高性能,减少客户端的等待。由几个命令构成:WATCH, UNWATCH, MULTI, EXEC, DISCARD。 通过WATCH,可以实现CAS操作。使用WATCH监听一些键,然后去检查键的值,然后根据键的值来 阅读全文
posted @ 2017-07-04 20:05 Jabnih 阅读(6600) 评论(6) 推荐(1) 编辑
摘要:0. 前言 这篇文章简要介绍Redis的主从部署,实现了一主二从,使用两个哨兵监控,以实现简单的HA,其中从库作为备机。1. 部署 这里有三台服务器,其中239主机上的Redis作为主库,其余两个作为从库。这里涉及到了认证,所以当这里在主库和从库都使用了requirepass和masteraut... 阅读全文
posted @ 2015-11-19 20:10 Jabnih 阅读(2306) 评论(1) 推荐(3) 编辑
摘要:0. 前言 Hiredis是一个Redis的C客户端库函数,基本实现了Redis的协议的最小集。这里对hiredis的api作基本的介绍以及应用,主要参考hiredis的README文件以及相关源码。1. 同步APIredisContext,该库的上下文环境。 1 /* Context for a... 阅读全文
posted @ 2015-09-16 19:29 Jabnih 阅读(17276) 评论(0) 推荐(0) 编辑
摘要:0. 前言 Redis在封装事件的处理采用了Reactor模式,添加了定时事件的处理。Redis处理事件是单进程单线程的,而经典Reator模式对事件是串行处理的。即如果有一个事件阻塞过久的话会导致整个Redis被阻塞。 对于Reactor模式,可以查看维基百科。(这里推荐一本书:《面向模式的... 阅读全文
posted @ 2015-08-20 20:21 Jabnih 阅读(2950) 评论(0) 推荐(0) 编辑
摘要:0. 前言 Redis 中的链表是以通用链表的形式实现的,而对于链表的用途来说,主要的功能就是增删改查,所以对于查找来说,redis其提供了一个match函数指针,用户负责实现其具体的匹配操作,从而实现通用化。 涉及的文件:adlist.h/adlist.c1. 数据结构typedef stru... 阅读全文
posted @ 2015-08-16 15:24 Jabnih 阅读(1116) 评论(0) 推荐(0) 编辑
摘要:0. 前言 这里对Redis底层字符串的实现分析,但是看完其实现还没有完整的一个概念,即不太清楚作者为什么要这样子设计,只能窥知一点,需要看完redis如何使用再回头来体会,有不足之处还望告知。 涉及文件:sds.h/sds.c1. 数据结构: 1 typedef char *sds;2 3 ... 阅读全文
posted @ 2015-08-15 22:25 Jabnih 阅读(1152) 评论(0) 推荐(0) 编辑
摘要:0. 前言: 这篇文章旨在对redis环境的搭建以及对redis有个大概的认识。一.redis搭建: 环境:ubuntu 14 软件包:redis-3.0.3.tar.gz安装步骤: 1. 首先解压redis源码包 2. 进入目录redis-3.0.3,使用make编译源码 3. 编... 阅读全文
posted @ 2015-08-15 17:03 Jabnih 阅读(469) 评论(0) 推荐(0) 编辑