Django缓存有类似Rails的cache.fetch的方法吗? (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')
关于python - Django 中的cache.fetch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2214330/