使用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()