- 服务器 Server
- server([options])
- Server options
- 服务器属性 Server properties
- server.auth.default(options)
- server.auth.scheme(name, scheme)
- server.auth.strategy(name, scheme, [options])
- await server.auth.test(strategy, request)
- await server.auth.verify(request)
- server.bind(context)
- server.cache(options)
- await server.cache.provision(options)
- server.control(server)
- server.decoder(encoding, decoder)
- server.decorate(type, property, method, [options])
- server.dependency(dependencies, [after])
- server.encoder(encoding, encoder)
- server.event(events)
- await server.events.emit(criteria, data)
- server.events.on(criteria, listener)
- server.events.once(criteria, listener)
- await server.events.once(criteria)
- server.expose(key, value)
- server.expose(obj)
- server.ext(events)
- server.ext(event, method, [options])
- await server.initialize()
- await server.inject(options)
- server.log(tags, [data, [timestamp]])
- server.lookup(id)
- server.match(method, path, [host])
- server.method(name, method, [options])
- server.method(methods)
- server.path(relativeTo)
- await server.register(plugins, [options])
- server.route(route)
- server.rules(processor, [options])
- await server.start()
- server.state(name, [options])
- server.states.add(name, [options])
- await server.states.format(cookies)
- await server.states.parse(header)
- await server.stop([options])
- server.table([host])
- Route options
- route.options.app
- route.options.auth
- route.options.bind
- route.options.cache
- route.options.compression
- route.options.cors
- route.options.description
- route.options.ext
- route.options.files
- route.options.handler
- route.options.id
- route.options.isInternal
- route.options.json
- route.options.jsonp
- route.options.log
- route.options.notes
- route.options.payload
- route.options.plugins
- route.options.pre
- route.options.response
- route.options.rules
- route.options.security
- route.options.state
- route.options.tags
- route.options.timeout
- route.options.validate
- Request lifecycle
- 请求
- 插件
server.cache(options)
规定[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 concurrentgenerateFunc
calls beyondstaleTimeout
).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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论