瀏覽代碼

[minor] frappe.local_cache(namespace, key, generator) for in request caching

version-14
Anand Doshi 9 年之前
父節點
當前提交
a5063faaf8
共有 1 個檔案被更改,包括 16 行新增0 行删除
  1. +16
    -0
      frappe/__init__.py

+ 16
- 0
frappe/__init__.py 查看文件

@@ -1033,3 +1033,19 @@ def publish_realtime(*args, **kwargs):
import frappe.async import frappe.async


return frappe.async.publish_realtime(*args, **kwargs) return frappe.async.publish_realtime(*args, **kwargs)

def local_cache(namespace, key, generator):
"""A key value store for caching within a request

:param namespace: frappe.local.cache[namespace]
:param key: frappe.local.cache[namespace][key] used to retrieve value
:param generator: method to generate a value if not found in store

"""
if namespace not in local.cache:
local.cache[namespace] = {}

if key not in local.cache[namespace]:
local.cache[namespace][key] = generator()

return local.cache[namespace][key]

Loading…
取消
儲存