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

时间: 2024-11-09 01:53:28

Python读写Redis数据库的相关文章

Python学习之使用Python操作Redis数据库

最近在写一个检查一台服务器上所有游戏区服配置文件中redis某个key值大小的脚本,本打算使用shell+awk+sed的方式去解决这个问题,但是由于redis的配置信息是php数组形式.shell脚本一时没有写出来,就请教他人帮忙写了个python脚本,但是自己python不是很精通,于是按照脚本中涉及到的python知识现学现用,然后根据自己的需求更改脚本.这里分享一下如何使用python操作redis数据库. Redis的Python驱动源码下载地址是https://github.com/

Java WebService 实现读写Redis数据库

一.准备工作 1.MyEclipse10 2.JDK 1.7.0 3.apache-tomcat-6.0.13 二.创建服务端 1.创建[Web Service Project],命名为[TheService]. 2.创建[Class]类,命名为[ServiceHello],位于[com.wty.service]包下. 3.编写供客户端调用的方法,即编译方法代码. package com.wty.service; import javax.jws.WebService;//包别引用错了 impo

python访问redis数据库

#!/usr/env/bin python import redis r=redis.Redis(host='localhost',port=6379,db=0) with r.pipeline() as pipe:     while 1:         try:             pipe.watch('OUR-SEQUENCE-KEY')             current_value=pipe.get('OUR-SEQUENCE-KEY')             next_

python——连接Redis数据库

建立与Redis的连接 import redis pool = redis.ConnectionPool(host='localhost', port=6379) # 默认情况下每创建一个Redis实例都会构造出一个ConnectionPool实例,每一次访问redis都会从这个连接池得到一个连接,操作完成后会把该连接放回连接池(连接并没有释放),可以构造一个统一的ConnectionPool,在创建Redis实例时,可以将该ConnectionPool传入,那么后续的操作会从给定的Connec

redis python 操作 Python操作Redis数据库

原文章于此:https://www.cnblogs.com/cnkai/p/7642787.html 有个人修改与改正 连接数据库 StrictRedisfrom redis import StrictRedis #!/usr/bin/env python # coding: utf-8 from redis import StrictRedis from redis import ConnectionPool # 使用默认方式1 链接到数据库 # redis = StrictRedis(hos

python读写dbf数据库

dbf数据库作为一种简单的数据库,曾经广泛使用.现在在金融领域还是有很多的应用之处,工作中遇到此类的问题,在此记录一下. 1. 读取dbf ''' 读取DBF文件 ''' def readDbfFile(filename): table = dbfread.DBF(filename, encoding='GBK') for field in table.fields: print(field) for record in table: for field in record: print(fie

Anaconda 安装redis-py模块操作redis数据库

今天遇到了一个很神奇的事情 ,在使用python操作redis 数据库的时候 ,如果使用  pip install redis    安装的是python 连接 redis的模块,  但是如果是在anaconda  里面使用  conda install -c anaconda redis  安装的是  redis数据库, 这个问题折腾了一下午,最终还是搞明白的,其实在使用 conda 要安装的是  redis-py   这个文件才对,但是至于pip安装与conda安装为什么是不同的文件我也不清

python编程:excel文件操作,redis数据库,接口开发

1.操作mysql import pymysql # 1.连上数据库 账号.密码 ip 端口号 数据库 #2.建立游标 #3.执行sql #4 .获取结果 # 5.关闭游标 #6.连接关闭 coon = pymysql.connect( host='数据库ip',user='jxz',passwd='123456', port=3306,db='jxz',charset='utf8' #port必须写int类型, #charset这里必须写utf8 ) cur = coon.cursor() #

python(13)---发邮件、写日志、操作redis数据库

一.写邮件 import yagmail user = '[email protected]' password = 'rtcxbuejmqrdgjcd' #不是qq密码,是邮件授权码 在qq邮箱,设置--账户--开启POP3/SMTP服务,获得授权码 m=yagmail.SMTP(host='smtp.qq.com',user=user,password=password) #host-- 163邮箱用 tp.163.com m.send(to=['[email protected]','xx