您的位置:首页 > 数据库 > Redis

Python读写Redis数据库操作示例

2014-03-18 00:00 597 查看
使用Python如何操作Redis呢?下面用实例来说明用Python读写Redis数据库。
比如,我们插入一条数据,如下:
import 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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: