返回介绍

server.cache(options)

发布于 2024-02-12 19:53:56 字数 2484 浏览 0 评论 0 收藏 0

规定[provision]服务器缓存设施中的缓存段:

  • options - catbox policy 配置如下:

    • expiresIn - 自项目保存在缓存中,用毫秒表示的相对过期时间。 不能和 expiresAt 一起使用.

    • expiresAt - 使用 'HH:MM' 格式表示的时间, 此时所有缓存记录都将过期. 使用本地时间. 不能和 expiresIn 一起使用.

    • generateFunc - 如果在调用 get() 时未在缓存中找到一个缓存项,用于生成新缓存项的函数. 该方法的签名是 async function(id, flags) 其中:

      - `id` - 提供给 `get()` 方法的 `id` 字符串或对象。
      - `flags` - 用于将其他标志传递回缓存的对象,其中:
        - `ttl` - 缓存 ttl 值,以毫秒为单位。设置为 `0` 以跳过存储在缓存中。 默认为缓存全局策略。
      
    • staleIn - 当提供 generateFunc 时,存储在缓存中的项目标记为失效【stale】并尝试【attempt】重新生成它的毫秒数。 必须小于 expiresIn

    • staleTimeout - 检查项目是否过时之前要等待的毫秒数.

    • generateTimeout - 当 generateFunc 函数超时毫秒数。最终返回值时, 它存储在缓存中以供将来请求使用. 当 generateFunc 指定是,该值是必要的。 设置 false 将禁用可能导致所有 get() 请求永远被卡住的超时。

    • generateOnReadError - 如果为 false , 上游缓存读取错误将停止 cache.get() 方法调用 generate 函数,而是传回缓存错误。默认为 true .

    • generateIgnoreWriteError - 如果为 false , 调用 cache.get() 时出现的上游缓存写入错误会被调用时返回. 默认为 true .

    • dropOnError - 如果为 true , generateFunc 中的错误或超时导致超时的值会从缓存中逐出。默认为 true .

    • pendingGenerateTimeout - 当指定 id 进程调用 generateFunc 时的毫秒数, 后续的 generateFunc 会被允许. 默认为 0 (no blocking of concurrent generateFunc calls beyond staleTimeout ).

    • cache - 配置在 server.cache 的缓存名称. 默认为默认的缓存名。

    • segment - segment 字符串名, 用于隔离【isolate】缓存分区【partition】中的缓存项目。在插件中调用时,默认为插件名称 '!name'。在服务器方法中, 默认为服务器方法名 '#name'。在插件外部调用时,该值是必要的。

    • shared - 如果为 true , 允许多个缓存共享同一个 segment。 默认为 false .

const Hapi = require('hapi');

async function example() {

  const server = Hapi.server({ port: 80 });
  const cache = server.cache({ segment: 'countries', expiresIn: 60 * 60 * 1000 });
  await cache.set('norway', { capital: 'oslo' });
  const value = await cache.get('norway');
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文