婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 高效異步redis客戶端aredis優劣勢原理解析

高效異步redis客戶端aredis優劣勢原理解析

熱門標簽:b2b外呼系統 四川穩定外呼系統軟件 南京手機外呼系統廠家 400電話辦理的口碑 廊坊外呼系統在哪買 高碑店市地圖標注app 地圖標注工廠入駐 臺灣電銷 一個地圖標注多少錢

背景

aredis 是一款由同步的 redis 客戶端 redis-py 改寫而成的高效的異步 redis 客戶端,在最新的 1.0.7 版本中完成了對于 redis 集群的支持。

改動

主要重寫了底部建立連接和讀取數據部分的代碼,接口部分都向下兼容,便于使用者從 redis-py 的同步代碼遷移到 async 和 await 的協程版本,詳細文檔請看 aredis 文檔

使用

安裝 pip install aredis

具體姿勢可以參閱項目文檔和例子,接口向下兼容 redis-py,支持 Python 3.5 及以上版本,在最新的 1.0.7 版本中也支持 redis cluster,并且對于 Python 3.6 還支持各個數據類型的 scan iter 操作。

一個簡單的例子如下所示:

>>> import aredis
>>> import asyncio
>>> r = aredis.StrictRedis(host='localhost', port=6379, db=0)
>>> loop = asyncio.get_event_loop()
>>> async def test():
>>> await r.set('foo', 'bar')
>>> print(await r.get('foo'))
>>> loop.run_until_complete(test())
b'bar'

優勢

使用了協程的異步客戶端相較于同步客戶端來說由于使用了 Python 的事件循環等多余代碼,實際上運行效率是較低的,但是好處在于它不會阻塞你的 io,你可以在網絡 io 進行的同時進行別的操作,aredis 比較適用于爬蟲、http 服務器等密集網絡 io 的操作,使得你的代碼不用等上 redis 操作的時間。

而相比于現有的兩款支持 async/await 的 redis 客戶端來說:

aioredis:

aioredis 要求裝上 hiredis , 而 aredis 可以不需要相關依賴地運行,速度上兩者持平且都可以使用 hiredis 來作為 parser ,用 uvloop 代替 asyncio 的 eventloop 來加速

asyncio_redis:

asyncio_redis 使用了 Python 提供的 protocol 來進行異步通信,而 aredis 則使用 StreamReader 和 StreamWriter 來進行異步通信,在運行速度上兩倍于 asyncio_redis ,附上 benchmark

而且以上兩款客戶端目前都還沒有對于集群的支持,相對來說 aredis 的功能更為全面一些。

劣勢

現在對于編碼的支持還不是那么完善,大部分命令還是用 bytes 類型作為返回值,且目前只支持 Python 3.5 及以上的版本

前排求 star 和 pr 0- 0

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 簡單了解redis常見客戶端及Sharding機制原理
  • Spring Boot Redis客戶端遠程操作實現過程解析
  • PHP Swoole異步Redis客戶端實現方法示例
  • Java客戶端利用Jedis操作redis緩存示例代碼
  • java客戶端Jedis操作Redis Sentinel 連接池的實現方法
  • 詳解java 客戶端鏈接不上redis解決方案
  • Redis的Python客戶端redis-py安裝使用說明文檔

標簽:河源 甘南 南寧 定州 伊春 拉薩 泰州 畢節

巨人網絡通訊聲明:本文標題《高效異步redis客戶端aredis優劣勢原理解析》,本文關鍵詞  高效,異步,redis,客戶端,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《高效異步redis客戶端aredis優劣勢原理解析》相關的同類信息!
  • 本頁收集關于高效異步redis客戶端aredis優劣勢原理解析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 阳信县| 精河县| 盐城市| 通渭县| 逊克县| 包头市| 旬邑县| 贞丰县| 凌海市| 靖远县| 安远县| 蒙城县| 睢宁县| 蒙山县| 建德市| 平舆县| 章丘市| 百色市| 临湘市| 石渠县| 都江堰市| 开远市| 九龙县| 彭山县| 宝山区| 阿勒泰市| 英山县| 陕西省| 桃源县| 古交市| 三江| 广饶县| 新营市| 周口市| 靖安县| 祁东县| 土默特右旗| 兰西县| 庆安县| 来宾市| 获嘉县|