摘要: 在Redis中,zset是一个复合结构: 使用hash来存储value和score的映射关系 使用跳跃表来提供按照score进行排序的功能,同时可以指定score范围来获取value列表 使用hash来存储value和score的映射关系 使用跳跃表来提供按照score进行排序的功能,同时可以指定s 阅读全文
posted @ 2019-09-08 13:35 Jeemzz 阅读(827) 评论(0) 推荐(0) 编辑
摘要: 链表 在Redis的早期版本中,存储list列表结构时,如果元素少则使用压缩列表ziplist,否则使用双向链表linkedlist 对于链表,有以下特性: 双端:节点带有prev和next指针以获取前置、后置节点 无环:表头的prev和表尾的tail指向NULL 带表头表尾指针:获取表头表尾节点复 阅读全文
posted @ 2019-09-01 22:54 Jeemzz 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis会使用整数集合(intset)来存储集合元素。 intset是紧凑的数组结构,同时支持16位、32位和64位整数。 结构 contents数组是整数集合的底层实现,各个项在数组中按值大小升序排列,且不包含重复项 contents数组 阅读全文
posted @ 2019-09-01 20:18 Jeemzz 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 为了节约内存,在zset和hash容器对象元素个数较少时,Redis会采用压缩列表(ziplist)进行存储。 压缩列表是一块连续的内存空间,元素之间紧挨着存储,不存在冗余 一个压缩列表可以包含任意多个节点(entry),每个节点可以保存一个字节数组或者一个整数值 结构 prevlen字段长度是1个 阅读全文
posted @ 2019-09-01 15:57 Jeemzz 阅读(573) 评论(0) 推荐(0) 编辑
摘要: dict是Redis服务器中出现最为频繁的复合型数据结构,除hash使用dict之外,整个Redis数据库中所有的key和value也会组成一个全局字典,还有带过期时间的key集合也是一个字典。 zset集合中存储value和score的映射关系也是通过dict结构实现的。 结构 内部是二维数组 d 阅读全文
posted @ 2019-08-31 23:06 Jeemzz 阅读(596) 评论(0) 推荐(0) 编辑
摘要: C语言中,传统的字符串表示是以空字符结尾的字符数组,Redis的字符串没有直接使用该表示,而是选择构建了一种名为简单动态字符串(simple dynamic string, SDS)的抽象类型。 在Redis中,C字符串只会作为字符串字面量(string literal)用在一些无需对字符串值进行修 阅读全文
posted @ 2019-08-31 17:08 Jeemzz 阅读(286) 评论(0) 推荐(0) 编辑
摘要: compile() 编译正则表达式,返回一个正则表达式对象,该对象可复用。 常用flags match() 判断目标字符串是否在字符串开始处匹配。 用法: 注意:不完全匹配,即只判断字符串开头是否匹配。可以在正则表达式对象末尾加上边界符$来实现完全匹配。 search() 判断目标字符串是否在字符串 阅读全文
posted @ 2019-08-29 23:51 Jeemzz 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 锁(Lock) 锁是一种保证数据安全的机制和手段,其并不是特定于某项技术的,其主要是通过在并发下控制多个操作的顺序执行,以此来保证数据安全地变动 例如在程序中,当多个线程修改共享变量时,可以给修改操作上锁(syncronized);在数据库中,当多个用户修改表中同一数据时,我们可以给该行数据上锁 悲 阅读全文
posted @ 2019-08-29 23:48 Jeemzz 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 两个常量 五个类 datetime.datetime 参数 常用实例方法 datetime.date 参数 常用实例方法 datetime.time 参数 常用实例方法 datetime.timedelta 参数 所有参数都是可选的,可以是整数或浮点数,正数或负数。 常用实例方法 datetime类 阅读全文
posted @ 2019-08-28 11:57 Jeemzz 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 引用计数 在Python源码中,每一个对象都是一个结构体表示,都有一个计数字段。 PyObject是每个对象必有的内容,其中ob_refcnt就是作为引用计数。当一个对象有了新的引用时,它的ob_refcnt就会增加,引用它的对象被删除时则减少。一旦对象的引用计数为0,该对象立即被回收,占用空间就会 阅读全文
posted @ 2019-08-27 20:41 Jeemzz 阅读(235) 评论(0) 推荐(0) 编辑