the*_*wbb 5 python benchmarking redis
我在我的云服务器上安装了redis,并运行redis-benchmark,结果是:
SET:每秒90909.09个请求GET:每秒91743.12个请求
但是当我使用python做set/get in循环时:
import datetime
import redis
r = redis.Redis(host='127.0.0.1', port=6379, db=1)
mapData = {}
begin = datetime.datetime.now()
for i in range(8000):
mapData[i] = r.get([str(i)])
end = datetime.datetime.now()
print end-begin
Run Code Online (Sandbox Code Playgroud)
结果每秒只有8000个请求.我怎样才能改善它?
Did*_*zia 10
首先阅读http://redis.io/topics/benchmarks
简而言之,您的python程序在单个连接上为Redis生成了太多的往返,因此您需要为每次迭代时的网络延迟付费.我的建议:
请注意,您将无法在Python中达到redis-benchmark的性能,但您应该能够通过管道传输或mget实现每秒50,000次以上的获取操作.
| 归档时间: |
|
| 查看次数: |
3168 次 |
| 最近记录: |