Django 缓存有类似Rails 的cache.fetch 的方法吗? (http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html#M001023 http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html#M001023)
Rails 缓存获取的工作原理如下:
cache.fetch("my_key") {
// return what I want to put in my_key if it is empty
"some_value"
}
它很有用,因为它检查缓存,并返回缓存的值(如果存在)。如果没有,它将把“some_value”存储在缓存中,然后返回“some_value”。
Django 中有类似的东西吗?如果没有,如果我要实现这样的函数,Python 语法会是什么样子?
我认为你必须编写的代码是这样的:(编辑)
def get_value(param1,param2):
return "value %s - %s " % (str(param1),str(param2))
def fetch(key,val_function,**kwargs)
val = cache.get(key)
if not val:
val = val_function(**kwargs)
cache.set(key,val)
return val
你会这样称呼它:
fetch('key',get_value,param1='first',param2='second')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)