0

在我的代码中,我需要缓存一些查找,例如:

MyModel.objects.get(slug='foo')

MyModel.objects.get_or_create(slug='bar', defaults={'name':'bar'})

为了避免命中DB。

我猜对这些方法应用记忆可能是一个很好的解决方案,但我没有找到正确的方法来实现这一点,

你能帮助我吗,

提前致谢

4

1 回答 1

0

这些方法为您返回对象,因此您可以立即缓存它。

from django.core.cache import cache

a = cache.get('a')
if not a:
    a = MyModel.objects.get(slug='foo')
    cache.set('a', a)

b = cache.get('b')
if not b:
    b, exists = MyModel.objects.get_or_create(slug='bar', defaults={'name':'bar'})
    cache.set('b', b)

希望我不会误解你的问题。

于 2012-07-04T01:55:08.670 回答