• 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()  

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

  • 相关阅读:
    ajax
    导入操作
    游标的使用
    多行编辑
    IOS开发之--NSPredicate
    asp.net DataTables
    asp.net 汉字转拼音的车祸现场
    Git 连接细节
    Aspose.Words 操作指北
    码云代码管理插件备忘
  • 原文地址:https://www.cnblogs.com/blogofwyl/p/4609882.html
Copyright © 2020-2023  润新知