2011-10-05 90 views
2

用最簡單的術語來說,如何在我的django項目中設置redis緩存?如何使用Redis作爲Django項目的緩存服務器?

我一直在試圖弄清楚上週的緩存現在和碎片只是沒有落實到位。

我需要做些什麼來獲得緩存和運行。只需照顧標題和安裝Redis?

各種教程和介紹都似乎採取了理所當然的基本步驟,阻止我瞭解如何實現緩存。這不是無處不在嗎?人們如何瞭解這一點?

+0

這已經被問過: http://stackoverflow.com/questions/3801379/how-can-i-use-redis-with-django – jdi

+0

@jdi我見過後(並閱讀自述它指的是)。並閱讀谷歌無數的文章。就像我說的,我錯過了一些東西。我需要幫助。我很抱歉地問一個已經問過的問題,但答案對我來說並不夠簡單: - /我需要把這個問題放在更簡單的條件下。 –

+0

例如,在上面鏈接的問題鏈接(並選擇爲答案)的自述文件中,單詞「cache」不會使用一次。 –

回答

5

好了,也許你缺少的連接,一旦你有Redis的運行,你必須設置和獲取值使用Python,並從它的能力http://github.com/andymccurdy/redis-py你可以開始做這樣的事:

(僞代碼保持簡單)

client_request_for_data(): 
    check if redis has this data already under a specific "key" 
     True: 
      * GET value from redis using "key" 
      * return it! 
     False: 
      * Do the normal process of building the data 
      * SET it into redis with a unique "key", with maybe an EXPIRE time 
      * return it! 

這裏的想法是,你開始包裝在您生成的客戶端請求的結果斑點現有的代碼,到的東西,如果一個鍵存在首先檢查和如果它返回它。

+0

aaand 。謝謝@jdi,我花了幾天的時間把我的頭撞在牆上,你把它放在一起給我!我很高興能夠深入挖掘! –

+1

沒有問題!我知道它是如何。某些時候,概念不會完全點擊我,直到somone改寫或給我一個明確的例子。 – jdi

+0

這是否意味着每個client_request_for_data()函數都必須創建自己的Redis客戶端實例? –

相關問題