- 数据缓存
- 方法缓存
数据缓存
每个环境一个 cache
无需特别设置, 它本身就是起作用的
Flushing
数据落库
Model.flush_recordset()
可指定字段; 重算记录集, 并落盘
Model.flush_model()
可指定字段; 重算全部记录集, 并落盘
Model.flush()
可指定字段; 落盘
Environment.flush_all()
环境里面的全部数据集都落盘
Model._flush()
可指定字段,记录; 落盘
Invalidate
缓存失效
Environment.invalidate_all()
环境里面的全部cache都失效
Cache.invalidate()
支持 传递参数 spec, 只清除特定的 cache
Cache.clear()
清除全部
方法缓存
每个注册表一个 cache,默认大小是 8192
缓存的 KEY 是 (method,*ARGS, **KWARGS)
启用了cache的方法, 在执行的时候, 尝试从 cache 中查找上一次运行的结果; 否则, 运行方法,并将结构缓存起来
使用 ormcache
在方法上使用装饰器 tools.ormcache() 进行修饰
清除 cache
使用 Cache.clear() 方法
或者 Registry._clear_cache()
或者 Model._clear_cache()
可以通过 http://127.0.0.1/ormcache_stats 查看缓存统计[在 APP 商店查找 ormcache_stats 模块]
Odoo cache