• И снова о кешировании в Django
    0
    Да, действительно, пишется много похожего кода get, if not — set, думаю сделать примерно такую функцию-хелпер:

    def get_post(self, post_id):
        post = get_cached(
            key="post_detail_%s" % post_id,
            # сделать чтобы ключ был опциональным и генерировался при необходимости
            get_value=lambda: Post.objects.select_related('author').get(pk=post_id),
            # указываем выражение для получения значения
            get_depends_on=lambda post: [post, post.author],
            # указываем выражение для получения зависимостей с полученным значением в качестве аргумента
            timeout=10,
        )
        return post
    
  • И снова о кешировании в Django
    0
    cacheops очень крутой, я им как раз пользовался до этого, но все равно не хватало контроля за процессом инвалидации.