Skip to content

Commit 6c6a969

Browse files
sagarvoraankush
authored andcommitted
perf: simpler, faster meta cache
1 parent df8399f commit 6c6a969

File tree

4 files changed

+3
-20
lines changed

4 files changed

+3
-20
lines changed

frappe/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,6 @@ def init(site: str, sites_path: str = ".", new_site: bool = False) -> None:
239239
local.jloader = None
240240
local.cache = {}
241241
local.document_cache = {}
242-
local.meta_cache = {}
243242
local.form_dict = _dict()
244243
local.preload_assets = {"style": [], "script": []}
245244
local.session = _dict()

frappe/cache_manager.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,6 @@ def clear_doctype_cache(doctype=None):
116116
clear_controller_cache(doctype)
117117
cache = frappe.cache()
118118

119-
if getattr(frappe.local, "meta_cache") and (doctype in frappe.local.meta_cache):
120-
del frappe.local.meta_cache[doctype]
121-
122119
for key in ("is_table", "doctype_modules", "document_cache"):
123120
cache.delete_value(key)
124121

frappe/core/doctype/doctype/doctype.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -414,10 +414,6 @@ def on_update(self):
414414
if not frappe.flags.in_install and hasattr(self, "before_update"):
415415
self.sync_global_search()
416416

417-
# clear from local cache
418-
if self.name in frappe.local.meta_cache:
419-
del frappe.local.meta_cache[self.name]
420-
421417
clear_linked_doctype_cache()
422418

423419
def setup_autoincrement_and_sequence(self):

frappe/model/meta.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,10 @@
5656

5757

5858
def get_meta(doctype, cached=True) -> "Meta":
59-
if cached:
60-
if not frappe.local.meta_cache.get(doctype):
61-
meta = frappe.cache().hget("meta", doctype)
62-
if meta:
63-
meta = Meta(meta)
64-
else:
65-
meta = Meta(doctype)
66-
frappe.cache().hset("meta", doctype, meta.as_dict())
67-
frappe.local.meta_cache[doctype] = meta
59+
if not cached:
60+
return Meta(doctype)
6861

69-
return frappe.local.meta_cache[doctype]
70-
else:
71-
return load_meta(doctype)
62+
return frappe.cache().hget("meta", doctype, lambda: Meta(doctype))
7263

7364

7465
def load_meta(doctype):

0 commit comments

Comments
 (0)