2015-06-05 55 views
0

我正在使用django編寫一個簡單的即時聊天應用程序。我將聊天會話的數據保存在我的聊天類的靜態變量中。本地它真的有用。在django.core.cache中搜索密鑰

我已經在heroku上部署了一個應用程序的測試版本,但是heroku是一個雲平臺。不同線程中的類變量之間沒有同步。所以我決定用memcached。但是我找不到django.core.cache是​​否允許在緩存中搜索關鍵字或遍歷整個緩存來檢查值。解決這個問題的最好方法是什麼?

回答

0

Memcached只允許您通過鍵獲取/設置條目。你不能迭代這些條目來檢查某些東西。但是,如果你的緩存鍵順序(如sess1,sess2等),您可以嘗試在一個循環,以檢查是否存在:

for i in range(1000): 
    sess = cache.get('sess%s' % i) 
    # some logic 

但無論如何,它似乎是一個不好的設計決策。我沒有足夠的關於你在做什麼的信息,但我想某種持久性存儲(如數據庫)會很好。您還可以考慮http://redis.io/,它具有比memcached更多的功能,但仍然非常快。