V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
jason0916
V2EX  ›  分享创造

aredis —— 一款高效的异步 redis 客户端

  •  
  •   jason0916 ·
    NoneGG · 2017-01-04 20:27:41 +08:00 · 2399 次点击
    这是一个创建于 2667 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    aredis 是一款由同步的 redis 客户端 redis-py 改写而成的高效的异步 redis 客户端

    改动

    主要重写了底部建立连接和读取数据部分的代码,接口部分都向下兼容,便于使用者从 redis-py 的同步代码迁移到 async 和 await 的协程版本( Python 3.5 中不支持在 async 定义的函数下使用 yield, Python 3.6 可以,后续迭代会增加相关功能)

    试用

    可以参阅项目文档和例子

    优势

    相比于现有的两款支持 async/await 的 redis 客户端来说:

    aioredis:

    aioredis 要求装上 hiredis , 而 aredis 可以不需要相关依赖地运行,速度上两者持平且都可以使用 hiredis 来作为 parser ,用 uvloop 代替 asyncio 的 eventloop 来加速

    asyncio_redis:

    asyncio_redis 使用了 Python 提供的 protocol 来进行异步通信,而 aredis 则使用 StreamReader 和 StreamWriter 来进行异步通信,在运行速度上两倍于 asyncio_redis ,附上 benchmark

    劣势

    现在对于编码的支持还不是那么完善,大部分命令还是用 bytes 类型作为返回值,且目前只支持 Python 3.5 及以上的版本

    前排求 star 和 pr 0- 0

    项目链接 aredis

    5 条回复    2021-11-27 14:30:52 +08:00
    kongkongyzt
        1
    kongkongyzt  
       2017-03-09 16:09:04 +08:00
    我记得你, 之前在 V2 上发帖子, 本来我还好奇你去哪里了, 没想到是 bilibili
    jason0916
        2
    jason0916  
    OP
       2017-03-09 16:10:20 +08:00
    @kongkongyzt 嗯 0- 0 老东家全面转 java 活不下去了
    Geoion
        3
    Geoion  
       2017-04-18 23:20:56 +08:00
    给大佬跪了
    jason0916
        4
    jason0916  
    OP
       2017-04-19 10:01:15 +08:00
    @Geoion 0- 0 干嘛
    jianhaochende
        5
    jianhaochende  
       2021-11-27 14:30:52 +08:00
    还在维护吗? 我发现这个几年没更新了,然后另一个 fork 的 yaaredis 也是,我就 fork 了那个 yaaredis ,取名 yaaredis2 ,打算用 cython 加速,并且复用连接
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3940 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:08 · PVG 13:08 · LAX 22:08 · JFK 01:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.