Python使用redis存儲對象

2021-01-07 百度經驗

Python總的對象存儲到redis中默認為字符串,那麼如何存儲對象呢?

下面就看看如何直接將Python中對象存儲到redis中

先寫個測試redis是否正常連接上

import redis

cache = redis.StrictRedis('172.20.0.227',6379)

存儲字符串

key = "javaman_test"

value = "test_string_yy"

cachevalue = cache.get(key)

存儲Dict對象,取出來為字符串

value = {"id":1,"name":"sunxy"}

cache.set(key,value,60)

cachevalue = cache.get(key)

print type(value),type(cachevalue)

這時使用eval()對獲取的結果轉換成dict

cachevalue = cache.get(key)

trans_value = eval(cachevalue)

print type(trans_value),trans_value.get("name")

如果不是一個dict,直接是一個對象呢?

之前用了django中的對象,來看一下

取出來仍然是字符串,如何把對象存進去呢

eval()只是將結果轉換成字典,這個肯定不行,我們應該需要將對象存到redis中。

使用pickle模塊,在存入到redis中時調用dumps函數,獲取後調用loads函數

import pickleredis.set(key,pickle.dumps(xt_industry),180)

pickle.loads(result)

相關焦點

  • Redis如何存儲和計算一億用戶的活躍度
    這樣我們一個key就可以存儲1億用戶的活躍狀態。我們再來算下,這樣一個位圖結構的值對象佔據多少空間。每一個位是1bit,一億用戶就是一億bit。幾年下來的話,redis可以集群部署來進行擴容存儲。我們也可以用位圖壓縮算法對bitmap進行壓縮存儲。例如WAH,EWAH,Roaring Bitmaps。這個以後可以單獨拉出來聊聊。
  • python海量數據快速查詢的技巧
     對象序列化對象序列化就是將python中的對象保存為二進位的字節流文件,與之相對的是反序列化, 從二進位文件中讀取內容,重新解析為python對象。通過序列化,只需要讀取一次資料庫,然後將生存的字典對象保存為一個文件,後續在使用時,直接讀取序列化產生的文件,就可以快速得到資料庫對應的字典。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    因篇幅有限,以下展示的只是課程裡部分內容如對python課程有更多疑問 請諮詢客服 1零基礎入門全能班 01 –python簡介 02 第一個程序 03-python執行方式和pycharm設置 04-程序的注釋和算術運算符 05 程序執行原理 06變量的使用以及類型 07
  • 機率大的 Redis 面試題(含答案)|內存|key|原子性|哈希|redis_網易...
    單線程的redis為什麼這麼快redis的數據類型,以及每種數據類型的使用場景,Redis 內部結構redis的過期策略以及內存淘汰機制【~】Redis 為什麼是單線程的,優點如何解決redis的並發競爭key問題Redis 集群方案應該怎麼做?都有哪些方案?有沒有嘗試進行多機redis 的部署?如何保證數據一致的?對於大量的請求怎麼樣處理Redis 常見性能問題和解決方案?
  • redis - aof持久化介紹
    AOF簡介redis持久化存儲的方式有rdb序列化存儲和aof(append only file)。aof就是將操作和數據以格式化指令的方式追加到操作日誌的尾部,在append操作返回後,才進行實際的數據變更。
  • Redis 3.0.0 RC4 發布,無 Redis Cluster 修復
    此版本包括關於 redis-cli 方面的新特性,一個使用 xterm 256 顏色的延遲光譜可視化工具。Reids 團隊計劃兩周後發布一個 RC 版本或者是 3.0.0 穩定版本。Reids 3.0.0.RC4 常規改進:* [FIX] redis-cli CSV output NIL spurious newline removed.
  • Python:將XML數據存儲到Pandas DataFrame中
    XML在各種程序中用於構造、存儲和傳輸數據。在這篇文章中,我們將討論如何使用python xml庫中的 「ElementTree」模塊來解析xml數據並將數據存儲在panda DataFrame中。如果我們列印對象,我們將看到在指定的內存地址處有一個「 ElementTree」對象:print(document)內置的dir()方法可用於該對象的方法和屬性:print(dir(document))讓我們使用方法「 iterfind()」返回一個生成器,我們可以在「 for循環」中對其進行迭代。
  • 大數據必學:redis深入了解 Redis 的持久化機制(RDB、AOF)
    因為 redis是一個內存資料庫,所有數據都存儲在內存中,而且內存中的數據非常容易丟失,所以 redis的數據持久化就變得非常重要, redis提供了兩種數據持久化方法,分別用於 RDB和 AOF,而 redis默認用於 RDB的數據持久化方法。
  • Python 爬蟲面試題 170 道
    72.魔法函數 __call__怎麼使用?73.如何判斷一個對象是函數還是方法?74.@classmethod 和@staticmethod 用法和區別75.Python 中的接口如何實現?80.如何知道一個 Python 對象的類型?81.Python 的傳參是傳值還是傳址?
  • Redis教程:Redis持久化方式
    使用 Redis 附帶的 redis-check-aof 程序,對原來的 AOF 文件進行修復: redis-check-aof –x(可選)使用 di -u 對比修復後的 AOF 文件和原始 AOF 文件的備份,查看兩個文件之間的不同之處。重啟 Redis 伺服器,等待伺服器載入修復後的 AOF 文件,並進行數據恢復。
  • python動態添加類對象成員:變量、函數
    pythonyu'yan那麼下面就以下圖中的代碼為例,為大家演示如何給python中的類對象動態的添加變量python也支持動態刪除實例變量,使用del語句即可刪除,如刪除類對象p的name成員變量:# 刪除p對象的name實例變量 del p.name# 再次訪問p的name實例變量
  • [北京]百觀 Lab - Python 數據爬蟲工程師[17-26K]
    我們會一起挑戰有趣的技術難題,在自由開放的氛圍下,帶領數據工程師團隊,將前沿的數據抓取與存儲技術轉化成業界獨一無二,極具價值的產品。職責:帶領工程師團隊探索並實踐前沿爬蟲技術與存儲技術帶領工程師團隊完成分布式爬蟲架構的開發,維護,與優化編寫數據分析腳本要求:3 年以上經驗熱愛技術,對解決具有挑戰性問題富有激情,學習能力和求知慾強具備強悍的編碼能力,內功紮實熟悉 linux 開發環境,熟悉 python,畢竟
  • 雲計算核心技術Docker教程:Compose使用
    :創建一個測試目錄:命令如下$ mkdir composetest$ cd composetest在測試目錄中創建一個名為 app.py 的文件,該文件redis 是應用程式網絡上的 redis 容器的主機名,該主機使用的埠為 6379。
  • Python 爬蟲面試題 170 道:2019 版
    44.我們知道對於列表可以使用切片操作進行部分元素的選擇,那麼如何對生成器類型的對象實現相同的功能呢?45.請將[i for i in range(3)]改成生成器46.a="hello"和 b="你好"編碼成 bytes 類型47.下面的代碼輸出結果是什麼?
  • 使用文件對象讀取Python文件內容
    使用open函數可以打開文件並返回一個文件對象,返回的文件對象用來讀取和寫入文件內容。那麼,如何使用文件對象來讀取文件內容呢?如何讓讀取的文件內容初始化一個Python列表呢?文本文件和二進位文件使用文件對象讀取文件內容時,要根據文件的不同存儲類型選擇不同的讀取方式。一般來說,文件的存儲類型主要分為文本文件和二進位文件兩大類。
  • Redis RDB與AOF模式下的持久化原理
    前言:在此之前,如果還不了解Redis的,或者不知道怎麼使用Redis,可以參考官網網站:https://redis.io/documentation自行學習,本文主要針對Redis的核心點之一:RDB和AOF持久化模式進行展開。
  • 從零開始寫Python爬蟲,四大工具你值得擁有!
    那麼,學習python爬蟲之前需要哪些準備?一顆熱愛學習,不屈不撓的心一臺有鍵盤的電腦(什麼系統都行。我用的os x,所以例子會以這個為準)html相關的一些知識。不需要精通,能懂一點就行Python的基礎語法知識 。
  • opencv-python獲取圖像:面向對象與面向過程
    下面是分別用面向過程與面向對象的編程方法實現讀取本地圖像和打開攝像頭兩段代碼:# -*- coding: utf-8 -*-"""面向過程的編程方法,用函數把解決問題的步驟一步一步實現。運行環境:win10系統 python==3.6 opencv-contrib-python== 4.1.0第一行「# -*- coding: utf-8 -*-」 告訴Python解釋器,按照UTF-8編碼讀取原始碼"""import cv2image=cv2.imread('lena.JPG') #讀取本地圖片,
  • 廣州Python測試培訓
    具有 簡單、易學、開源、可移植、可擴展、可嵌入、面向對象 等 優點,它的面向對象甚至比java和C#.net更徹底。
  • 微信附近的人,用redis也能實現?(GEO)
    用關係型資料庫(mysql)的方式解決問題我們先把問題簡化,假如我附近的人都是不動的,也就是說他們的位置是固定的,按照咱們傳統的思路,就是把每個人的經緯度存起來,然後遍歷這些經緯度,我們可以通過某種方法獲取我和各個經緯度之間的距離,然後把相對於我距離在 5km 以內的用戶展示出來就可以了具體實現如下把每個人的經緯度存起來,存儲如下