异步(PEP 3156)Redis支持
aioredis的Python项目详细描述
功能
<表> < COLGROUP > < COL/> < COL/> <正文> hiredis 解析器 是 纯python解析器 是 低级和高级api 是 连接池 是 管道支架 是 发布/订阅支持 是 SSL/TLS支持 是 哨兵支援 是 redis集群支持 在制品 trollius(python 2.7) 否 测试的cpython版本 3.5、3.6和3.7 [2] 测试的PY3版本 5.9.0 测试redis服务器 2.6、2.8、3.0、3.2、4.0 对dev redis服务器的支持 通过低级api <表> <正文> <表>用法示例
简单的低级接口:
啊!简单的高级界面:
啊!连接池:
啊!具有连接池的简单高级接口:
啊!基准
基准测试可以在这里找到:https://github.com/reparaich/python-redis-benchmark" rel="nofollow">https://github.com/reparaich/python-redis-benchmark
讨论列表
aio-libs 谷歌集团: https://groups.google.com/forum/'35;!论坛/aio-libs
或Gitter Room: https://gitter.im/aio-libs/lobby
许可证
aioredis是根据麻省理工学院的许可证提供的。
更改
1.2.0(2018-10-24)
新的 :
修复 :
- fix pipeline命令缓冲导致多个系统调用 (请参见 464 以及 473 );
- Python3.7兼容性修复 (请参见 426 );
- 修正文档中的错误 (请参见 400 );
- 修复命令结果分析 (请参见 405 );
- 修复连接池中的错误。关闭drop方法 (请参见 461 );
其他 :
- 更新依赖项版本;
- 多项测试改进;
1.1.0(2018-02-16)
新的 :
- 执行新命令: wait , touch , swapdb , unlink (请参见 376 );
- 将 async_op 参数添加到 flushall 和 flushdb 命令 (请参见 364 , 以及 370 );
修复 :
- 重要! 使用池修复sentinel sentinel客户端 minSize 大于1 (请参见 380 );
- 修复sentinelpool.discover_timeout的用法 (请参见 379 );
- 固定接收器 (请参见 354 , 以及 366 );
- 使用空池修复 subscribe / psubscribe 的问题 (请参见 351 , 以及 );
- 修复在set解析器之前调用streamreader的feed数据时出现的问题 (请参见 347 );
其他 :
- 更新依赖项版本;
- 多个测试修复程序;
1.0.0(2017-11-17)
新的 :
- 重要! 放弃python 3.3、3.4支持; (请参见 321 , 323 以及 326 );
- 重要! 连接池已经重构;现在 创建redis 函数将产生 redis 实例,而不是 redispool (请参见 129 );
- 重要! 更改排序集命令答复格式: 返回元组列表,而不是命令的纯列表 接受带有cores的 参数 (请参见 。#334 );
- 重要! 更改 hscan 命令回复格式: 返回元组列表而不是混合键值列表 (请参见 335 );
- 实现redis uri支持 (请参见 322 );
- dropped create_reconnecting_redis , create_redis_pool 应该是 代替使用;
- 实现自定义的streamreader (请参见 273 );
- 实施哨兵支援 (请参见 181 );
- 实现纯python解析器 (请参见 212 );
- 添加migrate_键 (请参见 187 );
- 添加 zrevrangebylex 命令 (请参见 201 );
- 添加命令 , 命令计数 , 命令获取键 和 命令信息 (请参见 229 );
- 添加pubsub连接中的ping支持 (请参见 264 );
- 将 exist 参数添加到 zadd 命令 (请参见 288 );
- 添加maxclientserror并实现replyerror专门化 (请参见 325 );
- 将 编码 参数添加到排序的set命令 (请参见 289 );
修复 :
- 修复连接读卡器任务中的取消错误 (请参见 301 );
- 用 cancellederror修复挂起的命令取消, 使用显式异常而不是调用 cancel() 方法 (请参见 316 );
- 使用密码更正主/从哨兵发现的错误消息 (请参见 327 );
- 修正了bytearray对命令参数的支持 (请参见 329 );
- 修复修补的asyncio.lock中的严重错误 (请参见 256 );
- 修复multi/exec事务取消错误 (请参见 225 );
- 将缺少的参数添加到 create戋redis 和 create戋redis戋pool ;
- 修正折旧警告 (请参见 191 );
- 修正 (请参见 192 );
- 的向后兼容性修复,以(池的收益率)作为连接: (请参见 205 );
- 修复了pubsub接收器停止() (请参见 211 );
其他 :
- 多个测试修复程序;
- 将pypy3添加到构建矩阵;
- 更新依赖项版本;
- 添加缺少的Python3.6分类器;
0.3.5(2017-11-08)
修复 :
- 修复无法区分的期货取消 异步。取消错误 (见<="https://github.com/aio-libs/aioredis/pull/316" rel="nofollow">316), 从师父那里采摘的樱桃;
0.3.2(2017-06-21)
新的 :
修复 :
0.3.0(2017-01-11)
新的 :
- pub/sub连接命令接受通道实例 (请参见 168 );
- 实施新的发布/订阅MPSC(多生产商、单消费者)队列- 所有发布接收器 (请参见 176 );
- 添加提供抽象基类的模块 定义基本库组件的接口; (请参见 176 );
- 实施地理命令支持 (请参见 177 以及 179 );
修复 :
- 小测试修复;
其他 :
0.2.9(2016-10-24)
新的 :
修复 :
其他 :
- 更新devel.rst文档;更新发布/子频道文档(交叉引用);
- 更新manifest.in以在源包中包含文档、示例和测试;
0.2.8(2016-07-22)
新的 :
- 添加 hmset_dict 命令 (请参见 130 );
- 添加redisconnection.address属性
- redispool minsize / maxsize 不能 无 ;
- 实现池接口 (请参见 128 );
修复 :
- 为 hstrlen ; 添加测试
- 测试修复
其他 :
- 在Travis上启用Redis 3.2.0;
- 生成文档时添加拼写检查 (请参见 132 );
- 文档已更新;
0.2.7(2016-05-27)
0.2.6(2016-03-30)
0.2.5(2016-03-02)
- 连接关闭时关闭所有发布/订阅频道 (请参见 88 );
- 将 iter() 方法添加到允许使用它的aioredis.channel 对于 (请参见 89 );
- 文档中的内联代码示例使其可以运行和下载 (请参见 92 );
- python 3.5转换为使用异步语法的示例 (请参见 93 );
- 修复multi/exec以接受编码参数 (请参见 94 以及https://github.com/aio-libs/aioredis/issues/97" rel="nofollow">97);
- 在 创建连接中添加调试消息 (请参见 90 );
- 用尊重asyncio版本的包装器替换asyncio.async调用 (请参见 101 );
- 对TCP套接字使用nodelay选项 (请参见 105 );
- 新增异常。提出如果 与redis服务器的连接丢失 (参见 108 以及 109 );
- 修正redispool在发布时关闭并断开订阅模式的连接;
- 修复aioredis.util.decode以递归解码列表响应;
- 添加了更多示例并更新了文档;
- 将Google Groups链接添加到自述文件;
- 在许可证和文档中增加年份;
0.2.4(2015-10-13)
-
python 3.5异步支持:
- 新的扫描命令api( iscan , izscan , ihscan );
- 使等待池成为可等待的(允许使用等待池:… 和异步 以pool.get()作为连接: 构造);
- 修复了从空闲池删除关闭连接的问题 (请参见 83 );
- 文档已更新;
0.2.3(2015-08-14)
0.2.2(2015-07-07)
使用 encoding 参数解码数据时,现在考虑了 列表(数组)答复 (请参见 68 );
编码 添加到以下命令的参数:
- 常规命令:键,随机键;
- 哈希命令:hgetall、hkeys、hmget、hvals;
- 列表命令:blpop、brpop、brpoplpush、lindex、lpop、lrange、rpop、rpoplppush;
- set命令:smembers、spop、srandmember;
- 字符串命令:getrange、getset、mget;
向后不兼容:
ltrim 命令现在返回bool值而不是"ok";
测试已更新;
0.2.1(2015-07-06)
- 日志记录已添加(aioredis.log模块);
- 修正了pub/sub中的wait_消息的问题 (请参见 66 );
0.2.0(2015-06-04)
- 添加了发布/订阅支持;
- 修正 zrevrangebyscore 命令 (请参见 62 );
- 修复/测试/文档;
0.1.5(2014-12-09)
- 已添加自动连接程序;
- 添加了wait_closed方法以关闭干净的连接;
- zscore 命令已修复;
- 测试修复;
0.1.4(2014-09-22)
删除了以下redis方法– redis.multi() , redis.exec() , redis.discard() ;
删除redis.multi_exec的hack'ish属性;
redis.multi_执行已添加方法;
执行高级命令:
- 通用命令(测试);
- 事务命令(API稳定)。
向后不兼容:
以下已排序集合命令的API已更改:
zcount , zrangebyscore , zremrangebyscore , zrevrangebyscore ;
设置字符串命令"api changed;"
0.1.3(2014-08-08)
- redisconnection.execute重构以支持命令流水线 (请参见 33 );
- 几个修复程序;
- 事务和命令界面上的WIP;
-
执行并测试高级命令:
- 哈希命令;
- 超级日志命令;
- 设置命令;
- 脚本命令;
- 字符串命令;
- 列出命令;
0.1.2(2014-07-31)
0.1.1(2014-07-07)
- 事务支持(在连接中,高级命令有一些问题);
- 文档和测试已更新。
0.1.0(2014-06-24)
- 初始版本;
- 已实现重新发现;
- 已实现redispool;
- redisconnection&;redispool;文档
- 高级API上的WIP。
对于python 3.3、3.4支持,请使用aioredis v0.3。 |