2014-02-05 43 views
2

在django應用程序運行時,是否可以查看緩存(memcache,locmemcache或任何其他)的內容?例如通過管理員屏幕或其他圖書館?如何在django應用程序運行時查看緩存

+0

這可能不是一個確切的答案,但可以給你一個選擇:http://www.darkcoding.net/software/memcached-list-all-keys/ – karthikr

回答

0

沒有什麼內置到admin界面來查看高速緩存的狀態,所以:

0

是的,它是可能的,我會用的memcached爲您的緩存服務時提供兩種可能性。

第一選項:NO CODEing REQUIRED

對於一些快速監測正在運行的分佈式緩存系統的:

[安裝在求助]

$ sudo apt-get install libmemcached-tools 

[安裝在紅帽/ fedora的]

$ sudo rpm -ivh memcached-1.4.5-1.el5.rpm 

這包括一些方便的工具。特別是,我使用的一個是memcstat在Ubuntu和紅帽轉速帶有一個memcached的工具

[使用在求助]

$ watch -n1 -d 'memcstat --servers localhost' 

[在紅帽/ fedora的使用]

$ watch -n1 -d 'memcached-tool localhost:11211 stats' 

這將顯示的memcached的例如像信息方便很多:

curr_connections: 5 
total_connections: 26 

-- snip -- 

get_hits: 202 
get_misses: 12 

-- snip -- 

bytes_read: 1650 
bytes_written: 74345 

這很方便,因爲它不需要您編寫一行代碼,而且更好地告訴您緩存基礎結構是否也像您期望的那樣工作。

第二個選項:建立一個得心應手的管理命令

首先去獲得並安裝MemcachedStats

---- <django-app>/management/commands/list_memcachedstats.py ---- 

from django.core.management.base import BaseCommand 
from memcached_stats import MemcachedStats 
import pprint 

class Command(BaseCommand): 
    def handle(self, *args, **options): 
     host = '127.0.0.1' 
     port = '11211' 
     m = MemcachedStats(host, port) 
     pprint.pprint(m.keys()) 

我們簡單地使用:

$ python ./manage.py list_memcachedstats 

有時也得心應手知道你在memcached中有多少個密鑰:

$ python ./manage.py list_memcachedstats |wc -l 

這可以很方便地增長的關鍵詞。

最後

您可以使用一個或兩個的這些技術,同時你的Django系統運行。

相關問題