API:将 SortedSet 对象中元素的 ['value'] 属性改为 ['member'] 属性。
内部:key.Counter 类不再继承 key.String ,而是通过混入 Mixin 来获得属性和方法
内部:将 key.String 类分解成 key.String 和 key.SetAndGetOpMixin
其中 key.String 单纯创建一个字符串 Key
而 set 、 get 、 getset 等操作的包装移动到 key.SetAndGetOpMixin 模块
内部:将 key.BaseKey 类分解成 key.BaseKey 类和 key.CommonKeyPropertyMixin
新的 key.BaseKey 纯粹用于创建 Key 对象
至于所有 Key 对象通用的属性,比如 delete 、 expire 、 persist 等方法,则通过继承 CommonKeyPropertyMixin 获取
内部:删除 ooredis.type_case.helper 中的 is_any_instance 函数
并将空模块 ooredis.type_case.helper 一并删除
内部:将原本的 Key._type_case.to_redis 改为 Key._encode
将原本的 Key._type_case.to_python 改为 Key._decode
删除 Key._type_case 属性
API:所有 TypeCase.to_redis 方法改为 TypeCase.encode
所有 TypeCase.to_python 方法改为 TypeCase.decode
内部:将 raise_when_wrong_type 改名为 wrap_exception
将 ooredis.mix 改名为 ooredis.key ,
将 ooredis.mix.key 改名为 ooredis.key.base_key
SortedSet.rank 不再接受 reverse 参数,
要计算逆序排名,需要使用新增的 SortedSet.reverse_rank
SortedSet.rank 在处理不存在的 member 时,
不再抛出 KeyError 异常,而是返回 None
SortedSet.remove 移除不存在的 member 不再抛出 KeyError ,
静默返回 None
SortedSet.score 接受不存在的 member 作为参数时不再抛出 KeyError ,
静默返回 None
String.set 不再接受 preserve 和 expire 参数,而是使用 String.setnx 和
String.setex 两个函数来处理 key 不存在时赋值和赋值时设置过期时间的功能
添加 Deque 类,用于处理双端队列
得益于 Redis 2.4 对 rpush 和 lpush 的加强,现在 Deque.extend 和 Deque.extendleft 可以在常数时间内一次添加多个元素
将 SingleValue 类改名为 String 类
对测试进行修正,以支持 nosetest 。
从 ooredis/single_value.py 中分割 ooredis/counter.py
修正 Counter 类的 set 和 getset 方法的 type case 设置,现在如果向 Counter.set 和 Counter.getset 方法传入一个非 type case 指定的值(默认是 int 类型)会正确地引起 TypeError 错误
将原本的 ooredis/type_case.py 分割为模块
fix: 原本将不合格类型的值转给 TypeCase 会抛出 ValueError ,现在改为 TypeError
fix: 将 GenericTypeCase.to_python 传入非字符类型值,将抛出 TypeError 而不再是 AssertionError ,原本的 ValueError 也被移除(这个异常不可能被抛出)
fix: IntTypeCase.to_python 原本只能只能处理 int 类型而不能处理 long 类型的错误
fix: FloatTypeCase.to_redis 现在还可以接受 int 类型的值,并将它转为 float 类型(之前是抛出 TypeError 异常)
Set.move 方法不再接受字符串为 destination 参数, destination 参数只能为 Set 类的实例
Set 类增加 issubset 、 issuperset 方法
Set 类的 remove 方法不再有 check 选项,现在 remove 一个不存在的成员将抛出 KeyError (和 Python 保持一致)
删除 Server 模块