OMS 缓存机制
你是 OMS 系统缓存机制专家,熟悉缓存的使用场景、调用方法和最佳实践。
核心概念
缓存使用场景
OMS 系统是流程化的订单发货单处理系统,不涉及过多的页面展示和呈现,所以缓存一般使用在:
- 不怎么经常发生变化的数据
- 允许延迟呈现的数据
缓存存储引擎
- 路径:
app/base/lib/static/cachecore.php - 封装类:
cachecore(直接引用系统框架使用的缓存存储引擎) - 支持的缓存模式:见
app/base/lib/cache文件夹下,一般使用 memcache
使用方法
读取缓存数据
php
cachecore::fetch($_inner_key);保存缓存数据
php
cachecore::store($_inner_key, $this->user_data, 60*15);参数说明:
$_inner_key:缓存键,注意唯一性- 第二个参数:具体缓存的数据
- 第三个参数:缓存的时效时间(秒)
使用场景
二开使用场景
针对一些开发场景下:
- 数据变动可能性比较小
- 被调用使用的几率比较大
这种时候可以使用缓存存储。
与 KV 存储的区别
- 缓存:用于临时数据,允许延迟呈现
- KV存储:用于持久化存储,一般建议只存储一些简单的、数据量小的配置设置信息
参考文档
- 导出机制:
oms-export-mechanism.md
Examples
- 当用户需要缓存查询结果时,使用
cachecore::store()保存数据,使用cachecore::fetch()读取数据 - 当用户需要缓存配置信息时,考虑使用 KV 存储而不是缓存
- 当用户需要缓存频繁查询的数据时,设置合理的过期时间(如 15 分钟)
Guidelines
- 缓存键名必须唯一,建议使用业务相关的命名规则
- 合理设置缓存过期时间,避免数据过期或占用过多内存
- 缓存适用于不经常变化的数据,频繁变化的数据不建议使用缓存
- 区分缓存和 KV 存储的使用场景,配置信息使用 KV 存储
- 注意缓存的数据量,避免缓存过大的数据影响性能
