Python读写Redis数据库操作示例

时间:2024-01-13 02:09:05 

使用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,Redis
0
投稿

猜你喜欢

  • python多线程方法详解

    2023-10-16 02:46:31
  • 浅谈五大Python Web框架

    2023-12-10 07:33:25
  • SQL Server中的SQL语句优化与效率问题

    2024-01-20 05:26:57
  • mysql 查询当天、本周,本月,上一个月的数据

    2024-01-27 02:10:53
  • 探究数组排序提升Python程序的循环的运行效率的原因

    2021-07-16 21:35:06
  • vue移动端的左右滑动事件详解

    2024-06-05 09:20:33
  • python 环境安装及编辑器配置方法小结

    2021-09-13 02:39:25
  • 使用JScript遍历Request表单参数集合

    2011-02-26 11:08:00
  • Python引用类型和值类型的区别与使用解析

    2021-06-18 10:45:59
  • 关于MySQL性能调优你必须了解的15个重要变量(小结)

    2024-01-25 08:55:42
  • 基于Python实现智能停车场车牌识别计费系统

    2021-05-23 07:44:22
  • pytorch 输出中间层特征的实例

    2022-06-08 07:36:39
  • 比较详细的Asp伪静态化方法及Asp静态化探讨

    2011-04-14 10:41:00
  • js同时按下两个方向键

    2024-05-02 17:21:45
  • Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)

    2021-06-29 20:05:21
  • 一文搞懂MySQL XA如何实现分布式事务

    2024-01-22 23:25:19
  • vue实现简单的登录弹出框

    2024-05-21 10:30:12
  • python算法加密 pyarmor与docker

    2023-02-15 02:17:32
  • 简单PHP上传图片、删除图片实现代码

    2024-05-09 14:49:09
  • 简单了解python单例模式的几种写法

    2022-01-16 20:05:51
  • asp之家 网络编程 m.aspxhome.com