緩存條目在我的Django應用程序,我有一個BlogEntry
屬於一個Category
。一個BlogEntry
可能屬於很多Category
小號何時刪除在Django
class BlogEntry(models.Model):
creationdate=models.DateField(default=date.today)
description=models.TextField()
author=models.ForeignKey(User,null=True)
categories=models.ManyToManyField(Category)
class Category(models.Model):
name=models.CharField(unique=True,max_length=50)
description=models.TextField(blank=True)
用戶可以編輯BlogEntry
並在此過程因此,可以去除Category
這是英寸
假設blogEntry1
屬於java,scala
。如果用戶編輯之前,這樣他刪除scala
。現在進入只有一個類別,即java
在我list_view我使用緩存如下
from django.core.cache import cache
def list_entries_on_day(request,year,month,day):
...
key = 'entries_day'+'-'+year+'-'+month+'-'+day
if key not in cache:
entries = BlogEntry.objects.filter(...args..)
cache.set(key,entries)
entries_on_day =cache.get(key)
...
假設我已經創建了今天的2項,這些被放在cache.If我編輯這些BlogEnty
S的一個,並刪除類別 即;
blogEntry1 has categories :java,scala
blogEntry2 has categories :dotnet,vbasic
起初我爲今天條目的查詢,並把結果緩存
緩存現在有[blogEntry1,blogEntry2]
對關鍵'entries_day-2012-11-11'
現在我編輯blogEntry1
,使得它現在有java
爲
,我需要從緩存中刪除存儲的條目嗎?(由於緩存在修改之前包含一個BlogEntry
對象)