Redis 管道技術

Redis提供了管道可以一次下發多條命令,並一次性返回多個結果,大大提高了運行效率。

使用管道:

import redis
import time

r = redis.Redis(password='xiemanrui')

s = time.time()

p = r.pipeline()

for i in range(10000):
    p.set('foo', 'bar%s' % i)

p.execute()

print(time.time() - s)

運行時間爲:1.2358031272888184秒

不使用管道:

import redis
import time

r = redis.Redis(password='xiemanrui')

s = time.time()

for i in range(10000):
    r.set('foo', 'bar%s' % i)

print(time.time() - s)

運行時間爲: 2.5380067825317383秒

由此可見,使用管道執行多條命令大大提高了效率。

管道也支持鏈式調用: 

import redis
import time

r = redis.Redis(password='xiemanrui')

s = time.time()

p = r.pipeline()
result = p.set('foo', 'bar').ping().get('foo').execute()
print(result)

運行結果爲:

[True, True, b'bar']

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章