Sorry, new link: http://dpaste.com/hold/13668/
On Jul 5, 11:41 am, "Honza Král" <[EMAIL PROTECTED]> wrote: > On 7/5/07, David Cramer <[EMAIL PROTECTED]> wrote: > > > > > Ya cache invalidation is something you'll always have a problem with. > > The clean() method can be used (at the end of a queryset, or on the > > Manager itself) to force the invalidation. > > We have been working on this issue recently and came up with a > mechanism that solves this problem for us - when creating a cache, we > register with a CacheInvalidator object a model, test and a cache key. > CacheInvalidator than listens for post_save signals and for every > model check the registered tests... if a test passes, the cache_key > associated with the test is deleted. So if you can construct a test > based on the QuerySet's filters etc, you will be able to invalidate > just the querysets actually affected by the change... > > We haven't tested it for performance (we are building a high-volume > site) yet and we still haven't figured out how to deal with multiple > web servers connecting to one cache (our working version includes > propagating the post_save signal via some asynchronous communication > channel like apache's ActiveMQ, but we might end up with a separate > server just for the cache invalidation). > > Is anybody interested in this? > > > > > As for _get_sql_clause I guess I could make it just pull from filters/ > > extra args to build the key -- not as clean but it's the only other > > way I can think of. > > > On Jul 4, 11:25 pm, "Jeremy Dunck" <[EMAIL PROTECTED]> wrote: > > > On 7/5/07, David Cramer <[EMAIL PROTECTED]> wrote: > > > > >http://www.davidcramer.net/code/50/django-cachemanager.html > > > > > Criticism welcomed! > > > > I think the order of bits returned from _get_sql_clause is dependent > > > on how the queryset is built up, so that you'll cache equivalent > > > result sets repeatedly. > > > > And there's the issue of cache invalidation. > > > > But definitely useful. > > -- > Honza Kr?l > E-Mail: [EMAIL PROTECTED] > ICQ#: 107471613 > Phone: +420 606 678585 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---
