亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-29 16:54:55 來源:億速云 閱讀:575 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關高效異步redis客戶端aredis優劣勢原理,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

背景

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 及以上的版本

關于高效異步redis客戶端aredis優劣勢原理就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蕲春县| 定兴县| 南城县| 石棉县| 大宁县| 道真| 溆浦县| 清丰县| 安徽省| 岗巴县| 永泰县| 潼关县| 大安市| 旌德县| 井研县| 洛南县| 克山县| 浦东新区| 高州市| 潼南县| 尉犁县| 辛集市| 平湖市| 德庆县| 霍邱县| 苏尼特左旗| 宝山区| 闸北区| 彩票| 博白县| 古丈县| 丰台区| 柳州市| 抚宁县| 五指山市| 新邵县| 长治县| 开江县| 多伦县| 大冶市| 青海省|