Stats - hits and misses¶
In Getting fancy we went through various ways of using
django-fancy-cache
that all have a functional difference.
What you can do is enable stats so you can get an insight into what
django-fancy-cache
does for you.
Setting up¶
The first step is to switch on a setting. Put this in your
settings
:
FANCY_REMEMBER_ALL_URLS = True
FANCY_REMEMBER_STATS_ALL_URLS = True
The other thing you need to do is to add fancy_cache
to
INSTALLED_APPS
like this:
INSTALLED_APPS += ('fancy_cache',)
The first one is to tell django-fancy-cache
to remember every URL
it caches and the second one is to keep track of how many hits and
misses you have per URL.
This will enable stats collections on all uses of the cache_page
decorator. Alternatively you can do it explicitely on just one view.
Like this:
from django.shortcuts import render
from fancy_cache import cache_page
@cache_page(3600,
remember_all_urls=True,
remember_stats_all_urls=True)
def my_view(request):
something_really_slow...
return render(request, 'template.html')
Now, run your view a couple of times and then you can use the management command to get an output of this:
$ ./manage.py fancy-urls
/page5.html HITS 62 MISSES 5
/page4.html HITS 4 MISSES 1
Another way add django-fancy-cache
to your root urls.py like this:
urlpatterns = patterns(
'',
...your other stuff...,
url(r'fancy-cache', include('fancy_cache.urls')),
)
Now you can visit http://localhost:8000/fancy-cache
. It’ll give
you a very basic table with all cache keys, their hits and misses.