perf: use client_cache for form meta
This commit is contained in:
parent
7721fdb054
commit
fe3e5021a4
2 changed files with 4 additions and 4 deletions
|
|
@ -66,7 +66,6 @@ user_cache_keys = (
|
||||||
)
|
)
|
||||||
|
|
||||||
doctype_cache_keys = (
|
doctype_cache_keys = (
|
||||||
"doctype_form_meta",
|
|
||||||
"last_modified",
|
"last_modified",
|
||||||
"linked_doctypes",
|
"linked_doctypes",
|
||||||
"workflow",
|
"workflow",
|
||||||
|
|
|
||||||
|
|
@ -36,12 +36,13 @@ ASSET_KEYS = (
|
||||||
def get_meta(doctype, cached=True) -> "FormMeta":
|
def get_meta(doctype, cached=True) -> "FormMeta":
|
||||||
# don't cache for developer mode as js files, templates may be edited
|
# don't cache for developer mode as js files, templates may be edited
|
||||||
cached = cached and not frappe.conf.developer_mode
|
cached = cached and not frappe.conf.developer_mode
|
||||||
|
key = f"doctype_form_meta::{doctype}"
|
||||||
if cached:
|
if cached:
|
||||||
meta = frappe.cache.hget("doctype_form_meta", doctype)
|
meta = frappe.client_cache.get_value(key)
|
||||||
if not meta:
|
if not meta:
|
||||||
# Cache miss - explicitly get meta from DB to avoid
|
# Cache miss - explicitly get meta from DB to avoid mismatches
|
||||||
meta = FormMeta(doctype, cached=False)
|
meta = FormMeta(doctype, cached=False)
|
||||||
frappe.cache.hset("doctype_form_meta", doctype, meta)
|
frappe.client_cache.set_value(key, meta)
|
||||||
else:
|
else:
|
||||||
meta = FormMeta(doctype)
|
meta = FormMeta(doctype)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue