我在Django中使用memcached作为缓存后端。缓存不适用于特定视图。下面是视图中缓存的逻辑。
>>> genre = Genre.objects.get(id=1)
>>> genre_song_list = Song.objects.filter(genres=genre, duplicate=False).order_by('-votes', '-release_date')
>>> print genre_song_list
[<Song: Waiting>, <Song: Till The Sky Falls Down>, <Song: Better Half Of Me>, <Song: World Falls Apart>, <Song: Jar Of Hearts>, <Song: Man On The Run>, <Song: Like Spinning Plates>, <Song: Go It Alone>, <Song: Nini>, <Song: So Get Up>, <Song: Wings>, <Song: Mysteries Unfold>, <Song: Sacramentum>, <Song: Violetta>, <Song: Love Again>, <Song: Breathe>, <Song: Game Over>, <Song: The Expedition (A State Of Trance 600 Anthem)>, <Song: When You Were Around>, <Song: Mustang>, '...(remaining elements truncated)...']
>>> cache.set('trance_song_list', genre_song_list, 86400)
>>> cache.get('trance_song_list')
缓存工作正常,否则
>>> cache.set('a', 'abc')
>>> cache.get('a')
'abc'
以下是我的缓存设置
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
'TIMEOUT': 86400,
}
}
似乎无法弄清楚这里有什么问题。有什么建议吗?
答案 0 :(得分:0)
由于查询集中有超过9000个项目,因此缓存未被超出缓存限制。