
redis
老友小明哥
星星之火,照亮你路
展开
-
[redis源码]底层文件删除原理
基于这样的一个事实,redis在重命名文件时(重命名文件,目标文件可能会被删除),先调用了一次open,将引用计数加1;后台再通过I/O线程,异步将文件删除;这样就不会阻塞redis的主逻辑线程(因为redis本身是单线程原创 2020-09-06 19:43:20 · 552 阅读 · 0 评论 -
[redis]Glob模式匹配
Glob模式匹配,它不像正则表达式这样具有丰富的语法,但是,它是一种相当简洁高效的一种模式匹配。代码简单,规则简单,因此其运行效率同样非常高效。其广泛应用于不同的系统,例如我们常用的Linux ls 命令。通配符描述*匹配任意长度字符?匹配一个字符\\匹配转义符 \[a-z]匹配大于等于a,小于等于z;适用任何字符[0123456789]匹配大于等于0,小于等于9;相当于[0-9][^]非,匹配不相等字符[^a-z]不匹配大原创 2020-08-02 19:32:45 · 908 阅读 · 0 评论 -
[redis源码]LZF压缩算法
文件lzf.hlzfP.hlzf_c.c (压缩)lzf_d.c (解压)压缩默认模式是VERY_FAST核心思想对重复值进行压缩通过hash表来判断是否重复数据三种模式模式(压缩)时间(压缩后)空间ULTRA_FAST极端快大VERY_FAST非常快中普通快小变量LZF_HSLOT_BIAS 64位系统,是in_data的起始地址ip 输入游标op 输出游标hval 整型,当前游标的4位数值ip[原创 2020-08-16 14:16:53 · 5483 阅读 · 0 评论 -
redis client protocol 解析
在官网http://redis.io/topics/protocol有对redis通信协议有做说明。基于下面的一些原因,我想解析redis client protocol:1、足够了解通信协议,有助于做出更好的系统设计。2、学习RESP的设计思想,不仅能扩展我的思维,也许将来能应用于我的代码中。3、因为有些人想将redis client直接并入自己已有的系统中;包括我在内。这个原创 2015-06-24 00:14:04 · 3183 阅读 · 0 评论 -
redis client protocol 实现
在官网中http://redis.io/clients有许多已经实现好的redis client;有需要可以参考一下。其实前一篇http://blog.youkuaiyun.com/yitouhan/article/details/46612925 redis client protocol 解析,我已经对RESP做主要的解析。下面是解析RESP的所有函数,其中对外函数是RedisProtoc原创 2015-07-01 13:25:16 · 1694 阅读 · 0 评论