python導入導出redis數(shù)據(jù)的實現(xiàn)
更新時間:2022年02月25日 14:12:50 作者:純潔的小魔鬼
本文主要介紹了python導入導出redis數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
注:以String類型為例
一.導出redis某個庫的數(shù)據(jù)
import redis
import json
file_path = "why.json"
redis_conn = redis.Redis(host="192.168.1.123", port=6387, password="123zxcv", db=2, decode_responses=True)
data_keys = redis_conn.keys()
all_data = {}
for i in data_keys:
? ? all_data[i] = json.loads(redis_conn.get(i))
file_object = open(file_path, 'w', encoding="utf8")
json.dump(all_data, file_object, ensure_ascii=False)
file_object.close()使用python向Redis批量導入數(shù)據(jù)
使用pipeline進行批量導入數(shù)據(jù)。包含先使用rpush插入數(shù)據(jù),然后使用expire改動過期時間
class Redis_Handler(Handler):
?? ?def connect(self):
?? ??? ?#print self.host,self.port,self.table
?? ??? ?self.conn = Connection(self.host,self.port,self.table)?? ?
?? ??? ?
?? ?def execute(self, action_name):
?? ??? ?filename = "/tmp/temp.txt"
?? ??? ?batch_size = 10000
?? ??? ?with open(filename) as file:
?? ??? ??? ?try:
?? ??? ??? ??? ?count = 0
?? ??? ??? ??? ?pipeline_redis = self.conn.client.pipeline()
?? ??? ??? ??? ?for lines in file:
?? ??? ??? ??? ??? ?(key,value) = lines.split(',')
?? ??? ??? ??? ??? ??? ?count = count + 1
?? ??? ??? ??? ??? ??? ?if len(key)>0:
?? ??? ??? ??? ??? ??? ??? ?pipeline_redis.rpush(key,value.strip())
?? ??? ??? ??? ??? ??? ??? ?if not count % batch_size:
?? ??? ??? ??? ??? ??? ??? ??? ?pipeline_redis.execute()
?? ??? ??? ??? ??? ??? ??? ??? ?count = 0
?? ??? ??? ?
?? ?
?? ??? ??? ??? ?#send the last batch
?? ??? ??? ??? ?pipeline_redis.execute()
?? ??? ??? ?except Exception:
?? ??? ??? ??? ?print 'redis add error'二.導入redis某個庫的數(shù)據(jù)
import redis import json file_path = "why.json" redis_conn = redis.Redis(host="192.168.1.123", port=6387, password="123zxcv", db=1, decode_responses=True) file_object = open(file_path, 'r', encoding="utf8") all_data = json.load(file_object) for key in all_data: ? ? redis_conn.set(key, json.dumps(all_data[key], ensure_ascii=False)) file_object.close()
到此這篇關于python導入導出redis數(shù)據(jù)的實現(xiàn)的文章就介紹到這了,更多相關python導入導出redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
scrapy與selenium結(jié)合爬取數(shù)據(jù)(爬取動態(tài)網(wǎng)站)的示例代碼
這篇文章主要介紹了scrapy與selenium結(jié)合爬取數(shù)據(jù)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
2020-09-09
Python實現(xiàn)的矩陣轉(zhuǎn)置與矩陣相乘運算示例
這篇文章主要介紹了Python實現(xiàn)的矩陣轉(zhuǎn)置與矩陣相乘運算,結(jié)合實例形式分析了Python針對矩陣進行轉(zhuǎn)置與相乘運算的相關實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
2019-03-03
詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack
這篇文章主要介紹了詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack,文中有非常詳細的代碼示例,對正在學習python的小伙伴們有很好的幫助,需要的朋友可以參考下
2021-05-05 
