sds(简单动态字符串)是redis底层的字符串表示,它具有字符串对象化和替代char*的作用。数据库中的值类型包括字符串,哈希表,列表,集合和有序集合,但是键类型却总是字符串。
typedef char *sds;
struct sdshdr {
// buf 已占用长度
int len;
// buf 剩余可用长度
int free;
// 实际保存字符串数据的地方
char buf[];
...
分类:
其他好文 时间:
2015-04-14 23:23:05
阅读次数:
222
在redis源码目录下有一个utils文件夹,提供了install_server.sh安装工具,可生成自启动的redis脚本。[root@huntdbredis-2.8.19]#cdutils/
[root@huntdbutils]#./install_server.sh
Welcometotheredisserviceinstaller
Thisscriptwillhelpyoueasilysetuparunningredisserver
Pl..
分类:
其他好文 时间:
2015-04-13 13:04:49
阅读次数:
215
从源码层面介绍redis3.0相对于2.8的改进...
分类:
其他好文 时间:
2015-04-10 17:51:56
阅读次数:
520
Redis源码中有一个rand.c的源文件,很明显这是一个和(伪)随机数有关的文件。细看该文件代码只有寥寥50行,不过涉及到的算法原理却不简单,读起来虽然有些晦涩,但对于深入理解48位空间中的伪随机数算法是不可多得的范本。作者在该文件的注释中写道:这个伪随机数生成函数是从pysam源码中的drand48()派生过来的。关于pysam是什么项目,并不是重点,其实很多Unix系统中都存在drand48这个函数(SVr4,POSIX.1-2001),我们可在终端中man一下drand48。
可以看...
分类:
编程语言 时间:
2015-04-05 16:05:17
阅读次数:
342
在阅读Redis源码的时候,看到了两个文件:crc16.c、crc64.c。下面我抛砖引玉,简析一下原理。
CRC即循环冗余校验码,是信息系统中一种常见的检错码。大学课程中的“计算机网络”、“计算机组成”等课程中都有提及。我们可能都了解它的数学原理,在试卷上手工计算一个CRC校验码,并不是难事。但是计算机不是人,现实世界中的数学原理需要转化为计算机算法才能实现目的。实际上作为计算机专业背景人并不会经常使用或接触到CRC的计算机算法实现的原理,通常是电子学科背景的人士会接触的比较多点。计算机当...
分类:
其他好文 时间:
2015-03-29 22:13:31
阅读次数:
2659
首先使用redis客户端来进行publish与subscribe的功能是否能够正常运行。打开redis服务器[root@localhost ~]# redis-server /opt/redis-2.4.10/redis.conf [7719] 16 Apr 11:37:22 # Warning:....
分类:
其他好文 时间:
2015-02-26 16:12:37
阅读次数:
235
Redis源码研究—哈希表
Category: NoSQL数据库 View:
10,980 Author: Dong
作者:Dong | 新浪微博:西成懂 | 可以转载,
但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址:http://dongxicheng.org/nosql/redis-code-hashtable/
本博客的文章集合:http://dong...
分类:
其他好文 时间:
2015-02-03 23:04:15
阅读次数:
367
1. 集群是怎么创建的
2. 集群是如何工作的,但一个命令过来,集群是如何执行命令的?
这个涉及到数据库分片原理,槽的设计。
3. 故障转移
集群中的节点可以设置为主从模式,这样实现了重要数据的备份,单一个节点发生故障的时候,可以把此节点下线,使用它的备份节点(从节点)继续工作,不影响集群的操作。...
分类:
其他好文 时间:
2015-01-30 00:08:02
阅读次数:
416