您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹使用redis存儲list的方法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
在工作中遇到了一個問題就是,因為業務需求需要做redis加速,那么存放在redis的list列表如何才能完整的存進去,再完整的取出來呢?
如果使用redis的list存儲方法,將list = [1,2,3,4]列表中的元素一個一個遍歷取出,然后用lpush的方法將元素一個一個存進去,到最后你用完整的了lrange('name',0,-1)取出,你會發現取出的list變成了一個str, 例如(list = '[1,2,3,4]'),這樣處理起來很麻煩。
經過不斷的嘗試,發現了一個比較好用的庫pickle.
pikle的優點是:序列化過程將文本信息轉變為二進制數據流。這樣就信息就容易存儲在硬盤之中,當需要讀取文件的時候,從硬盤中讀取數據,然后再將其反序列化便可以得到原始的數據。
在Python程序運行中得到了一些字符串、列表、字典等數據,想要長久的保存下來,方便以后使用,而不是簡單的放入內存中關機斷電就丟失數據。
python模塊大全中的Pickle模塊就派上用場了,它可以將對象轉換為一種可以傳輸或存儲的格式。這樣保證存儲和取出的數據的完整性。
from redis import StrictRedis # 選取一個默認的redis的db倉庫 db = StrictRedis(host='localhost', port=6379, db=0,decode_responses=True) #導入pickle包 import pickle list = [1,2,3,4] # pickle 封裝list new_list = pickle.dumps(list) # redis中存儲數據,設置過期時間 db.setx('list',3600,new_list) result = db.get('list') get_list = pickle.loads(result) print(get_list) # get_list = [1,2,3,4]
經過pickle這樣處理后,你會發現取出的list好用多了。再也不用為數據轉換煞費苦心了,而且同樣的也可以處理json等數據類型的數據。
關于使用redis存儲list的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。