时间:2021-07-01 10:21:17 帮助过:1人阅读
上面操作是先写入一条数据,然后再读取,如果写入或者读取数据太多,那么我们最好用批处理,这样效率会更高。
- <span style="color: #0000ff;">import</span><span style="color: #000000;"> redis
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> datetime
- </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Database:
- </span><span style="color: #0000ff;">def</span> <span style="color: #800080;">__init__</span><span style="color: #000000;">(self):
- self.host </span>= <span style="color: #800000;">‘</span><span style="color: #800000;">localhost</span><span style="color: #800000;">‘</span><span style="color: #000000;">
- self.port </span>= 6379<span style="color: #000000;">
- self.write_pool </span>=<span style="color: #000000;"> {}
- </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> add_write(self,website,city,year,month,day,deal_number):
- key </span>= <span style="color: #800000;">‘</span><span style="color: #800000;">_</span><span style="color: #800000;">‘</span><span style="color: #000000;">.join([website,city,str(year),str(month),str(day)])
- val </span>=<span style="color: #000000;"> deal_number
- self.write_pool[key] </span>=<span style="color: #000000;"> val
- </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> batch_write(self):
- </span><span style="color: #0000ff;">try</span><span style="color: #000000;">:
- r </span>= redis.StrictRedis(host=self.host,port=<span style="color: #000000;">self.port)
- r.mset(self.write_pool)
- </span><span style="color: #0000ff;">except</span><span style="color: #000000;"> Exception, exception:
- </span><span style="color: #0000ff;">print</span><span style="color: #000000;"> exception
- </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> add_data():
- beg </span>=<span style="color: #000000;"> datetime.datetime.now()
- db </span>=<span style="color: #000000;"> Database()
- </span><span style="color: #0000ff;">for</span> i <span style="color: #0000ff;">in</span> range(1,10000<span style="color: #000000;">):
- db.add_write(</span><span style="color: #800000;">‘</span><span style="color: #800000;">meituan</span><span style="color: #800000;">‘</span>,<span style="color: #800000;">‘</span><span style="color: #800000;">beijing</span><span style="color: #800000;">‘</span>,2013,i,1<span style="color: #000000;">,i)
- db.batch_write()
- end </span>=<span style="color: #000000;"> datetime.datetime.now()
- </span><span style="color: #0000ff;">print</span> end-<span style="color: #000000;">beg
- </span><span style="color: #0000ff;">if</span> <span style="color: #800080;">__name__</span> == <span style="color: #800000;">‘</span><span style="color: #800000;">__main__</span><span style="color: #800000;">‘</span><span style="color: #000000;">:
- add_data() </span>
参考文章: http://www.jb51.net/article/48212.htm
Python读写Redis数据库
标签: