2014-08-30 24 views
0

我使用memcached作为Django中的缓存后端。缓存不适用于特定的视图。以下是视图中缓存的逻辑。在Django memcahed中没有为某些数据设置缓存

>>> 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

由于查询集中的项目超过9000个,缓存不在缓存的限制范围内。