摘要: 一 类型检查和多态 类型检查,即有的命令是只针对特定类型的,如果类型不对,就会报错,此处的类型,是指的键类型,即robj.type.下面为有类型检查的命令: 对于某一种类型,redis下底层的实现(编码类型 robj.encoding)可以是不同的,比如字符串键可以是ziplist或者linklis 阅读全文
posted @ 2017-02-28 23:03 jiangz222 阅读(148) 评论(0) 推荐(0)
摘要: - 从前面redis的基本数据结构来看,可以看出,redis都是在基本结构(string)的基础上,封装了一层统计的结构(SDS),这样让对基本结构的访问能够更快更准确,提高可控制度。 - redis的键值对中,键必然是用字符串对象实现的,所以我们一般说的列表键,指的是字符串键+列表值。 - 但是r 阅读全文
posted @ 2017-02-26 22:01 jiangz222 阅读(457) 评论(0) 推荐(0)
摘要: 压缩列表是为了节省内存而设计的,是列表键和哈希键的底层实现之一。 压缩列表的逻辑如下, 阅读全文
posted @ 2017-02-24 10:52 jiangz222 阅读(114) 评论(0) 推荐(0)
摘要: 整数集合的实现结构如上,主要用来用作集合对象的实现,其中encoding type包含INT16,INT32,INT64三种选择,所有的整数都在contents[]里按照从小到大有序存储。 整数集合有一个升级的概念,主要目的是为了保证数组里的每个整数的类型一致,比如加入contents[]里有三个整 阅读全文
posted @ 2017-02-21 20:12 jiangz222 阅读(163) 评论(0) 推荐(0)
摘要: 三 字典 字典是Hash对象的底层实现,比如用HSET创建一个HASH的对象,底层可能就是用一个字典实现的键值对。 字典的实现主要设计下面三个结构: 他们之间的关系如下图: - dict.type里会注册回调函数,用来实现计算哈希值(hashFunction(),redis使用MurmurHash2 阅读全文
posted @ 2017-02-21 10:58 jiangz222 阅读(152) 评论(0) 推荐(0)
摘要: 二 链表 1.链表节点使用ListNode结构,是一个双向的链表,同时,还实现了一个控制所有ListNode的结构list: 由list和listnode组成的基本结构如下,可见 - listNode里的prev和next构成双向列表 - list.head和list.tail使访问头尾node的复 阅读全文
posted @ 2017-02-20 22:34 jiangz222 阅读(178) 评论(0) 推荐(0)
摘要: 本读书笔记主要来自于<<redis设计与实现>> -- 黄键宏(huangz) redis主要设计了字符串,链表,字典,跳跃表,整数集合,压缩列表来做为基本的数据结构,实现键值对(key-value)中的值(value),键的数据类型主要是字符串。 1. 简单动态字符串: redis没有使用C的字符 阅读全文
posted @ 2017-02-20 15:40 jiangz222 阅读(213) 评论(0) 推荐(0)
摘要: - 通常机器学习,目的是,找到一个函数,针对任何输入:语音,图片,文字,都能够自动输出正确的结果。 - 而我们可以弄一个函数集合,这个集合针对同一个猫的图片的输入,可能有多种输出,比如猫,狗,猴子等,而我们通过提供大量的training data给这个函数集合,对集合里的各种函数组合的输出进行比对, 阅读全文
posted @ 2017-02-06 14:14 jiangz222 阅读(2205) 评论(0) 推荐(0)
摘要: 本章主要讲了以下几条基本的JAVA编程原则:1.将局部变量的作用域控制在最小,在使用时才定义2.for-each优于for循环 有三个例外(1,2点主旨就是,for each只能用于读取,不能用于修改): 1. 如果要删除集合中的一个元素,需要显示的使用迭代器,以便调用迭代器iterator的rem... 阅读全文
posted @ 2015-11-05 22:40 jiangz222 阅读(191) 评论(0) 推荐(0)
摘要: 第39条 必要时进行保护性拷贝对于可变类,如果作为参数传入到自己的类里,并作为自己类的数据使用存储时,需要进行保护性拷贝,比如Date是可变的,如果传入一个Date类,最好做一个保护性拷贝,以免在调用完Period后,外面将传入的参数start进行更改,影响自己类的this.start:public... 阅读全文
posted @ 2015-11-03 23:17 jiangz222 阅读(152) 评论(0) 推荐(0)