Skip to content

缓存 ​

缓存模块提供查询结果缓存功能,减少数据库查询压力。

启用缓存 ​

通过 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")

参数说明 ​

参数类型说明
namestring缓存名称,相同名称的查询共享缓存
secondsint缓存过期时间(秒)

使用示例 ​

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")

注意事项 ​

  • 缓存基于内存,服务重启后缓存失效
  • 缓存名称建议使用有意义的命名,便于管理
  • 数据变更后缓存不会自动更新,需等待过期
  • 不适合频繁变更的数据

版权所有.