当前位置:Gxlcms > 数据库问题 > Python读写Redis数据库

Python读写Redis数据库

时间:2021-07-01 10:21:17 帮助过:1人阅读

redis class 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()  

参考文章:  http://www.jb51.net/article/48212.htm

 

Python读写Redis数据库

标签:

人气教程排行