Python讀寫Redis數(shù)據(jù)庫操作示例
更新時(shí)間:2014年03月18日 11:00:26 作者:
Redis是一個(gè)開源的非關(guān)系型數(shù)據(jù)庫,它采用C語言編寫,是一個(gè)key-value存儲(chǔ)系統(tǒng),它存儲(chǔ)的value類型很多,包括string(字符串),list(鏈表),set(集合),zset(有序集合),hash(哈希)
使用Python如何操作Redis呢?下面用實(shí)例來說明用Python讀寫Redis數(shù)據(jù)庫。
比如,我們插入一條數(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之設(shè)置key的過期時(shí)間實(shí)例代碼
- python操作redis的方法
- python操作redis方法總結(jié)
- Python操作redis實(shí)例小結(jié)【String、Hash、List、Set等】
- python實(shí)現(xiàn)redis三種cas事務(wù)操作
- python筆記:mysql、redis操作方法
- 基于python實(shí)現(xiàn)操作redis及消息隊(duì)列
- Python 抓取數(shù)據(jù)存儲(chǔ)到Redis中的操作
- Python訪問Redis的詳細(xì)操作
- Python操作Redis數(shù)據(jù)庫的超詳細(xì)教程
相關(guān)文章
使用python的pexpect模塊,實(shí)現(xiàn)遠(yuǎn)程免密登錄的示例
今天小編就為大家分享一篇使用python的pexpect模塊,實(shí)現(xiàn)遠(yuǎn)程免密登錄的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02python iloc和loc切片的實(shí)現(xiàn)
本文主要介紹了python iloc和loc切片的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05使用Matplotlib繪制平行坐標(biāo)系的示例詳解
平行坐標(biāo)系,是一種含有多個(gè)垂直平行坐標(biāo)軸的統(tǒng)計(jì)圖表,這篇文章主要為大家介紹了如何使用繪制平行坐標(biāo)系,需要的小伙伴可以參考一下2023-07-07Python如何根據(jù)關(guān)鍵字逐行提取文本內(nèi)容問題
這篇文章主要介紹了Python如何根據(jù)關(guān)鍵字逐行提取文本內(nèi)容問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08python3.7+selenium模擬淘寶登錄功能的實(shí)現(xiàn)
這篇文章主要介紹了python3.7+selenium模擬登錄淘寶功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05使用Python合成圖片的實(shí)現(xiàn)代碼(圖片添加個(gè)性化文本,圖片上疊加其他圖片)
這篇文章主要介紹了使用Python合成圖片的實(shí)現(xiàn)代碼(圖片添加個(gè)性化文本,圖片上疊加其他圖片),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04python實(shí)現(xiàn)三次密碼驗(yàn)證的示例
這篇文章主要介紹了python實(shí)現(xiàn)三次密碼驗(yàn)證的示例,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04Django之 ArrayAgg與Admin技巧學(xué)習(xí)
這篇文章主要為大家介紹了Django之ArrayAgg與Admin的技巧學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06