python - Django 中的cache.fetch?

标签 python ruby-on-rails django caching fetch

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/

相关文章:

java - 将从 URL 输出的 JSON 保存到文件

ruby-on-rails - Rails 路由语法 - 从 rails 2 到 rails 3

javascript - AngularJS:意外的标识符 $http POST

python - 如何仅运行 Celery 调度多次,直到再次调用任务?

python - 在 Django 的管理中保存模型时执行检查

python - zsort 在 matplotlib 中的 bar3d 中意味着什么

python - Pandas Dataframe 列的滚动梯度

python - SQL 仅选择最近 5 分钟的记录

ruby-on-rails - 运行配置文件测试时出现 Ruby 段错误

javascript - Ruby Rails 使用 JavaScript 添加字段到表单