2010-05-24 54 views
3

我開始使用Memcached來使我的網站更快。 對於我的數據庫常量數據我用這個:在Python/Django中使用Memcached - 問題

from django.core.cache import cache 

cache_key = 'regions'  
regions = cache.get(cache_key) 
if result is None: 
    """Not Found in Cache""" 
    regions = Regions.objects.all()   
    cache.set(cache_key, regions, 2592000) #(2592000sekund = 30 dni) 

return regions 

對於我用很少的信號數據的變化:

from django.core.cache import cache 
from django.db.models import signals 
def nuke_social_network_cache(self, instance, **kwargs): 
    cache_key = 'networks_for_%s' % (self.instance.user_id,) 
    cache.delete(cache_key) 
signals.post_save.connect(nuke_social_network_cache, sender=SocialNetworkProfile) 
signals.post_delete.connect(nuke_social_network_cache, sender=SocialNetworkProfile) 

是不是正確的方式?

我已經安裝的Django的memcached-0.1.2,它告訴我:

Memcached Server Stats 
Server Keys Hits Gets Hit_Rate Traffic_In Traffic_Out  Usage Uptime 
127.0.0.1 15 220 276  79%   83.1 KB  364.1 KB  18.4 KB 22:21:25 

有人能解釋一下列意味着什麼?

還有最後一個問題。 我有模板,我從幾個表(關係)獲取很多記錄。 因此,在我看來,我從一張表中獲取記錄,並在模板中顯示它以及其他人的相關信息。 爲非常小的表生成頁面幾秒鐘(< 100條記錄)。 是否可以通過模板或所有頁面緩存查詢? 我有沒有在我看來(與所有相關表)做一些大結構,緩存它併發送到模板?這是更簡單的方法嗎?

回答