Posted in Python onMarch 18, 2014
使用Python如何操作Redis呢?下面用实例来说明用Python读写Redis数据库。
比如,我们插入一条数据,如下:
import redisclass Database: def __init__(self): self.host = 'localhost' self.port = 6379 def write(self,website,city,year,month,day,deal_number): try: key = '_'.join([website,city,str(year),str(month),str(day)]) val = deal_number r = redis.StrictRedis(host=self.host,port=self.port) r.set(key,val) except Exception, exception: print exception def read(self,website,city,year,month,day): try: key = '_'.join([website,city,str(year),str(month),str(day)]) r = redis.StrictRedis(host=self.host,port=self.port) value = r.get(key) print value return value except Exception, exception: print exception if __name__ == '__main__': db = Database() db.write('meituan','beijing',2013,9,1,8000) db.read('meituan','beijing',2013,9,1)
上面操作是先写入一条数据,然后再读取,如果写入或者读取数据太多,那么我们最好用批处理,这样效率会更高。
import redis import datetime class Database: def __init__(self): self.host = 'localhost' self.port = 6379 self.write_pool = {} def add_write(self,website,city,year,month,day,deal_number): key = '_'.join([website,city,str(year),str(month),str(day)]) val = deal_number self.write_pool[key] = val def batch_write(self): try: r = redis.StrictRedis(host=self.host,port=self.port) r.mset(self.write_pool) except Exception, exception: print exception def add_data(): beg = datetime.datetime.now() db = Database() for i in range(1,10000): db.add_write('meituan','beijing',2013,i,1,i) db.batch_write() end = datetime.datetime.now() print end-beg if __name__ == '__main__': add_data()
Python读写Redis数据库操作示例
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@