![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis/memcache
文章平均质量分 81
robertXin
不为写代码而写代码
展开
-
PHP缓存技术:memcache函数详解
Memcache函数库是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的内存数据的临时存放区域,在分布式的时候作用体现的非常明显,否则不建议使用。 memcache函数所有的方法列表如下:参考http://www.php.net/manual/zh/function.Memcache-add.php Memcac...原创 2012-05-09 09:55:02 · 104 阅读 · 0 评论 -
redis之哈希命令源码解析
形象化设计模式实战 HELLO!架构 redis命令源码解析 前面讲过了字典和压缩列表的实现,redis的哈希数据就是存储在这两种结构之中的,如果对这两种结构都非常清楚了,那么对哈希命令的实现的理解将会非常简单。 一、hsetvoid hsetCommand(redisClient *c) { i...2014-11-14 10:07:22 · 140 阅读 · 0 评论 -
redis之压缩列表源码剖析
形象化设计模式实战 HELLO!架构 redis命令源码解析 用过Redis的应该对其哈希命令不陌生,在探索其实现之前,先得了解Redis的一个内部映射数据结构——压缩列表。 1、zipList的结构找到ziplist.c文件,在代码注释中: * The general layout of the zipl...2014-11-04 09:59:26 · 160 阅读 · 0 评论 -
redis之字符串命令源码解析(三)
形象化设计模式实战 HELLO!架构 redis之字符串命令源码解析(一)redis之字符串命令源码解析(二) 前面已经将set get命令的原理与过程作了详细的解析,下面对一些常用的命令做一些简单讲解,前提是前面的已经明白。1、append方法解析 t_string.c中的appendCommand方法:void appe...2014-10-31 09:40:37 · 136 阅读 · 0 评论 -
redis之字符串命令源码解析(二)
形象化设计模式实战 HELLO!架构 在redis之字符串命令源码解析(一)中讲了get的简单实现,并没有对如何取到数据做深入分析,这里将深入。 1、redisObject 数据结构,以及Redis 的数据类型 (一)中说set test "hello redis",“hello redis”会最终保存在robj中,redisObject是Redi...2014-10-30 09:32:12 · 115 阅读 · 0 评论 -
redis之字符串命令源码解析(一)
形象化设计模式实战 HELLO!架构 在redis的使用中,set/get无疑是使用最普遍的命令,我先telnet连接运行看看 先看get命令,获取一个key服务器返回了两行内容,是"$3\r\n123\r\n"(\r\n为换行符),不难发现3就是“123”的长度,redis的官方文档get返回值为:Bulk string reply: the ...2014-10-28 09:47:15 · 146 阅读 · 0 评论 -
redis2.6.9源码学习---adlist
源码adlist.c adlist.h,先来看看adlist的结构/* Node, List, and Iterator are the only data structures used currently. */typedef struct listNode { struct listNode *prev; struct listNode *next; ...原创 2013-02-07 16:27:32 · 80 阅读 · 0 评论 -
redis2.6.9源码学习---dict
redis的hashtable------dict.c先了解基本的structtypedef struct dictEntry { void *key; union { void *val; uint64_t u64; int64_t s64; } v; struct dictEntry ...原创 2013-02-07 11:59:51 · 87 阅读 · 0 评论 -
redis2.6.9源码学习---Big_Endian&Little_Endian
在阅读redis源码/src/endianconv.c时遇到了一些不理解的语句#include <stdint.h>/* Toggle the 16 bit unsigned integer pointed by *p from little endian to * big endian */void memrev16(void *p) { unsig...原创 2013-02-04 10:50:01 · 165 阅读 · 0 评论 -
redis2.6.9源码学习---zipmap
在看此文件源码之前,先看到此文件头部的英文注释,以下是本人理解翻译版:</p>该文件实现了一个数据结构映射到其他字符串的字符串,实施一个O(n)查找数据结构的设计是非常记忆高效的。 Redis的hase类型就是使用这种由小数量元素组成的数据结构,转换为一个哈希表。鉴于很多次Redis hase是用来表示对象组成的一些字段,这是一种在内存使用上很大的成功。它的zipmap的格式为:&...原创 2013-05-02 17:03:34 · 127 阅读 · 0 评论 -
redis之列表命令源码解析
形象化设计模式实战 HELLO!架构 redis命令源码解析 一、Lpush,Rpusht_list.c void lpushCommand(redisClient *c) { pushGenericCommand(c,REDIS_HEAD);}void rpushCommand(red...2014-11-18 09:42:27 · 184 阅读 · 0 评论