Python读写Redis数据库操作示例


Posted in Python onMarch 18, 2014

使用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() 
Python 相关文章推荐
Python解析最简单的验证码
Jan 07 Python
python中将函数赋值给变量时需要注意的一些问题
Aug 18 Python
浅析Python装饰器以及装饰器模式
May 28 Python
Python清空文件并替换内容的实例
Oct 22 Python
python 将列表中的字符串连接成一个长路径的方法
Oct 23 Python
python 多线程中子线程和主线程相互通信方法
Nov 09 Python
Python函数的参数常见分类与用法实例详解
Mar 30 Python
python list转置和前后反转的例子
Aug 26 Python
使用Django和Postgres进行全文搜索的实例代码
Feb 13 Python
Python3运算符常见用法分析
Feb 14 Python
Python 如何展开嵌套的序列
Aug 01 Python
pytorch fine-tune 预训练的模型操作
Jun 03 Python
python实现k均值算法示例(k均值聚类算法)
Mar 16 #Python
python实现保存网页到本地示例
Mar 16 #Python
利用打码兔和超人打码自封装的打码类分享
Mar 16 #Python
Python使用代理抓取网站图片(多线程)
Mar 14 #Python
python3.3使用tkinter开发猜数字游戏示例
Mar 14 #Python
Python subprocess模块学习总结
Mar 13 #Python
用Python和MD5实现网站挂马检测程序
Mar 13 #Python
You might like
PHP读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
jquery和ajax的关系详细介绍
2013/11/29 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
python操作redis方法总结
2018/06/06 Python
Python中psutil的介绍与用法
2019/05/02 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
Ibatis如何调用存储过程
2015/05/15 面试题
介绍一下Make? 为什么使用make
2013/12/08 面试题
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
2013年高中生自我评价
2013/10/23 职场文书
建房协议书
2014/04/11 职场文书
车辆工程专业求职信
2014/06/14 职场文书
岗位职责说明书模板
2014/07/30 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
python opencv通过按键采集图片源码
2021/05/20 Python
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫