<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: querysets</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/querysets.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2010-03-01T11:48:54+00:00</updated><author><name>Simon Willison</name></author><entry><title>jmoiron.net: Johnny Cache</title><link href="https://simonwillison.net/2010/Mar/1/jmoironnet/#atom-tag" rel="alternate"/><published>2010-03-01T11:48:54+00:00</published><updated>2010-03-01T11:48:54+00:00</updated><id>https://simonwillison.net/2010/Mar/1/jmoironnet/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://django.jmoiron.net/blog/johnny-cache/"&gt;jmoiron.net: Johnny Cache&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The blog entry announcing Johnny Cache (“a drop-in caching library/framework for Django that will cache all of your querysets forever in a consistent and safe manner”) to the world.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/caching"&gt;caching&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/johnnycache"&gt;johnnycache&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/querysets"&gt;querysets&lt;/a&gt;&lt;/p&gt;



</summary><category term="caching"/><category term="django"/><category term="johnnycache"/><category term="python"/><category term="querysets"/></entry><entry><title>mmalone's django-caching</title><link href="https://simonwillison.net/2009/May/7/mmalones/#atom-tag" rel="alternate"/><published>2009-05-07T07:36:48+00:00</published><updated>2009-05-07T07:36:48+00:00</updated><id>https://simonwillison.net/2009/May/7/mmalones/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://github.com/mmalone/django-caching"&gt;mmalone&amp;#x27;s django-caching&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Mike Malone shares code used by Pownce to add QuerySet level caching to Django. It’s a smart implementation—a CachingQuerySet class inspects the arguments passed to get(), and if they’re just a straight forward exact PK lookup hits memcache for the object before hitting the database. Signals are used to invalidate the cache.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/caching"&gt;caching&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mike-malone"&gt;mike-malone&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/pownce"&gt;pownce&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/querysets"&gt;querysets&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/signals"&gt;signals&lt;/a&gt;&lt;/p&gt;



</summary><category term="caching"/><category term="django"/><category term="mike-malone"/><category term="pownce"/><category term="querysets"/><category term="signals"/></entry></feed>