Python读写Redis数据库操作示例

yipeiwu_com6年前Python基础
使用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() 

相关文章

详解python OpenCV学习笔记之直方图均衡化

详解python OpenCV学习笔记之直方图均衡化

本文介绍了python OpenCV学习笔记之直方图均衡化,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/d5/daf/tutoria...

解决python2 绘图title,xlabel,ylabel出现中文乱码的问题

解决python2 绘图title,xlabel,ylabel出现中文乱码的问题

绘制图形时使用了中文标题,会出现乱码 原因是matplotlib.pyplot在显示时无法找到合适的字体。 先把需要的字体(在系统盘C盘的windows下的fonts目录内)添加到Fo...

Python中的二维数组实例(list与numpy.array)

关于python中的二维数组,主要有list和numpy.array两种。 好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维...

Python中的defaultdict与__missing__()使用介绍

前言 今天我们的主角是 defaultdict ,同时也会介绍一下模仿方法 __missing__() ,本文主要来源于网友博客,分享给有需要的人。下面话不多说了,来一起看看详细的介绍吧...

python lambda表达式在sort函数中的使用详解

1.lambda表达式一般用法 语法: lamda argument:expression example: add = lambda x, y: x+y print(add(10,...