Python讀寫Redis數(shù)據(jù)庫(kù)操作示例
更新時(shí)間:2014年03月18日 11:00:26 作者:
Redis是一個(gè)開源的非關(guān)系型數(shù)據(jù)庫(kù),它采用C語(yǔ)言編寫,是一個(gè)key-value存儲(chǔ)系統(tǒng),它存儲(chǔ)的value類型很多,包括string(字符串),list(鏈表),set(集合),zset(有序集合),hash(哈希)
使用Python如何操作Redis呢?下面用實(shí)例來(lái)說(shuō)明用Python讀寫Redis數(shù)據(jù)庫(kù)。
比如,我們插入一條數(shù)據(jù),如下:
上面操作是先寫入一條數(shù)據(jù),然后再讀取,如果寫入或者讀取數(shù)據(jù)太多,那么我們最好用批處理,這樣效率會(huì)更高。
比如,我們插入一條數(shù)據(jù),如下:
復(fù)制代碼 代碼如下:
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)
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)
上面操作是先寫入一條數(shù)據(jù),然后再讀取,如果寫入或者讀取數(shù)據(jù)太多,那么我們最好用批處理,這樣效率會(huì)更高。
復(fù)制代碼 代碼如下:
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()
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的連接教程
- Python獲取Redis所有Key以及內(nèi)容的方法
- Python操作Redis之設(shè)置key的過(guò)期時(shí)間實(shí)例代碼
- python操作redis的方法
- python操作redis方法總結(jié)
- Python使用Redis實(shí)現(xiàn)作業(yè)調(diào)度系統(tǒng)(超簡(jiǎn)單)
- python使用pipeline批量讀寫redis的方法
- python安裝與使用redis的方法
- python 通過(guò)SSHTunnelForwarder隧道連接redis的方法
- Python連接Redis連接池的具體使用
相關(guān)文章
基于Python構(gòu)建深度學(xué)習(xí)圖像分類模型
在人工智能的浪潮中,圖像分類作為計(jì)算機(jī)視覺領(lǐng)域的基礎(chǔ)任務(wù)之一,一直備受關(guān)注,本文將介紹如何使用Python和PyTorch框架,構(gòu)建一個(gè)簡(jiǎn)單的深度學(xué)習(xí)圖像分類模型,感興趣的可以了解下2024-12-12
淺析Python語(yǔ)言自帶的數(shù)據(jù)結(jié)構(gòu)有哪些
Python已經(jīng)廣泛的應(yīng)用于數(shù)據(jù)分析、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等眾多科學(xué)計(jì)算領(lǐng)域,這篇文章主要介紹了Python語(yǔ)言自帶的數(shù)據(jù)結(jié)構(gòu)有哪些?需要的朋友可以參考下2019-08-08
Python語(yǔ)言描述機(jī)器學(xué)習(xí)之Logistic回歸算法
這篇文章主要介紹了Python語(yǔ)言描述機(jī)器學(xué)習(xí)之Logistic回歸算法,涉及Sigmoid函數(shù),梯度上升法等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
Python Scrapy框架:通用爬蟲之CrawlSpider用法簡(jiǎn)單示例
這篇文章主要介紹了Python Scrapy框架:通用爬蟲之CrawlSpider用法,結(jié)合實(shí)例形式分析了Scrapy框架中CrawlSpider的基本使用方法,需要的朋友可以參考下2020-04-04
Python中的is和==比較兩個(gè)對(duì)象的兩種方法
這篇文章主要介紹了Python中的is和==比較兩個(gè)對(duì)象的兩種方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-09-09

