import redis
import time
m = redis.Redis(host='127.0.0.1',port=6379,db=0)
for i in range(30000):
m.set(str(i),str(i))
b = time.time()
print m.save()
print time.time()-b
打印
True
0.11057806015
将m.save()换成m.bgsave()打印的内容是
True
0.0021960735321
另外也可以通过redis.conf设置参数来自动保存
save 60 10000
意识是在60s内至少有10000条数据变化是调用保存命令,默认的情况下有
save 900 1
save 300 10
save 60 10000
也就是说设置多个save的策略
#!/usr/bin/env python
#coding=utf-8
import redis
import time
m = redis.Redis(host='127.0.0.1',port=6379,db=0)
b = time.time()
for i in range(30000):
m.set(str(i),str(i))
print 'set one by one cost time:',time.time()-b#set one by one cost time: 5.61089706421
b = time.time()
p = m.pipeline()
for i in range(30000):
p.set(str(i),str(i))
p.execute()
print 'pipeline cost time:',time.time()-b#pipeline cost time: 1.31098294258