Appearance
缓存
缓存模块提供查询结果缓存功能,减少数据库查询压力。
启用缓存
通过 db.Cache("缓存名称", 过期秒数) 启用缓存:
javascript
// 缓存 60 秒
var users = db.Cache("user_list", 60).Select("SELECT * FROM users")
// 在多数据源上使用缓存
var orders = db.DB("mysql").Cache("order_list", 120).Select("SELECT * FROM orders")参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| name | string | 缓存名称,相同名称的查询共享缓存 |
| seconds | int | 缓存过期时间(秒) |
使用示例
javascript
// 缓存用户列表 60 秒
var users = db.Cache("user_list", 60).Select("SELECT * FROM users")
// 缓存单个用户 300 秒
var user = db.Cache("user_detail_" + param["id"], 300).SelectOne(
"SELECT * FROM users WHERE id = ?", param["id"]
)
// 缓存分页结果 30 秒
var page = db.Cache("user_page", 30).Page(1, 20, "SELECT * FROM users")注意事项
- 缓存基于内存,服务重启后缓存失效
- 缓存名称建议使用有意义的命名,便于管理
- 数据变更后缓存不会自动更新,需等待过期
- 不适合频繁变更的数据