- 博客(10)
- 资源 (4)
- 收藏
- 关注
原创 redis 源码 -- intset
1 数据结构 (1)content是已经排序 (2)是数组类型,紧凑 (3)encoding描述16字节、32字节、64字节typedef struct intset { uint32_t encoding; uint32_t length; int8_t contents[];} intset; ecoding的取值
2017-08-26 10:07:09 796
原创 redis - 源码 endianconv 大端、小端与网络字节序
1. 什么是大端,什么是小端: 所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中; 所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。 大端(Big-Endian),小端(Little-Endian)以及网络字节序的概念在编程中经常会遇到,其中网络字节序(Network
2017-08-24 23:42:02 2023 1
原创 redis --持久化rio
rio是对流式IO的抽象,提供读写接口,消费/生产具体不同的I/O设备。rdb.c就是使用抽象封装RDB的内存读写和文件读写。rio对象提供以下方法: read:从流读数据 write:向流写数据 tell :获取当前的偏移量 checksum:检查读写的checksum/* rio.c is a simple strea
2017-08-20 16:44:30 1051
原创 redis - sds 长整型转字符串--字符串逆序
有两个方法,一个转换有符号整数,另一个转换无符号整数。其中字符串逆序的算法,时间复杂度O(N),空间复杂度O(1),类似快速排序,使用两个游标,交换位于两端的字符。/* Helper for sdscatlonglong() doing the actual number -> string * conversion. 's' must point to a string with room
2017-08-19 09:11:34 1275
原创 redis 内存管理zmalloc
redis的zmalloc函数// 已经使用的内存,malloc函数增加,free减少这个值static size_t used_memory = 0;// 线程安全,其实没用;redis是单线程模型static int zmalloc_thread_safe = 0;// used_memory变量作为临界区,做同步pthread_mutex_t used_memory_mutex
2017-08-13 23:37:01 1566
原创 redis - 简单动态字符串 sds
数据结构,源码:// 最大预分配长度#define SDS_MAX_PREALLOC (1024*1024)#include #include // Redis没有直接使用sdshdr结构,而是定义了sds类型来操作sdshdr结构typedef char *sds;// redis 自定义字符串结构struct sdshdr { // 当前字符串长度 unsig
2017-08-13 19:43:28 1450
原创 redis- 持久化-rdb
http://blog.csdn.net/xiejingfa/article/details/51553370REDIS 数据存储模式有2种:cache-only,persistence;cache-only即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一种安全性低/效率高/容易扩展的方式;persistenc
2017-08-09 09:07:41 684
原创 jar 包冲突解决办法
jar包冲突常见的异常为找不到类(java.lang.ClassNotFoundException)、找不到具体方法(java.lang.NoSuchMethodError)、字段错误( java.lang.NoSuchFieldError)或者类错误(java.lang.LinkageError);1 通过mvn dependency:tree > tree.tx
2017-08-08 15:39:25 2467
转载 Linux 查看CPU信息,机器型号,内存等信息
https://my.oschina.net/hunterli/blog/140783系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名#
2017-08-07 20:41:30 7699
原创 redis - shard
redis cluster在设计的时候,就考虑到了去中心化,去中间件,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态。每个节点都和其他所有节点连接,而且这些连接保持活跃,这样就保证了我们只需要连接集群中的任意一个节点,就可以获取到其他节点的数据。那么redis 是如何合理分配这些节点和数据的呢?Redis 集群没有并使用传统的一致性哈
2017-08-07 16:52:05 3164
VC6 鼠标钩子 最简单例子
2009-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人