Cache

缓存中间件 think_cache 支持存储 file、memcache、redis。

安装

  1. npm i think_cache --save

引入中间件

1、项目中增加中间件 middleware/cache.js

  1. module.exports = require('think_cache');

2、项目中间件配置 config/middleware.js:

  1. list: [...,'cache'], //加载的中间件列表
  2. config: { //中间件配置
  3. ...
  4. cache: {
  5. cache_type: 'file', //数据缓存类型 file,redis,memcache
  6. cache_key_prefix: 'ThinkKoa:', //缓存key前置
  7. cache_timeout: 6 * 3600, //数据缓存有效期,单位: 秒
  8. //cache_type=file
  9. file_suffix: '.json', //File缓存方式下文件后缀名
  10. file_path: __dirname
  11. //cache_type=redis
  12. //redis_host: '127.0.0.1',
  13. //redis_port: 6379,
  14. //redis_password: '',
  15. //redis_db: '0',
  16. //redis_timeout: 10, //try connection timeout
  17. //cache_type=memcache
  18. //memcache_host: '127.0.0.1',
  19. //memcache_port: 11211,
  20. //memcache_poolsize: 10, //memcache pool size
  21. //memcache_timeout: 10, //try connection timeout,
  22. }
  23. }

使用

引入 think_cache中间件后,app 对象上会自动扩展一个缓存方法:

  1. //在控制器中
  2. this.cache(key, value, timeout);
  3. //在中间件或服务类中获取缓存需要使用控制器的this.app对象
  4. app.cache(key, value, timeout)

读取缓存:

  1. this.cache(key);

写入缓存:

  1. //timeout单位秒,此处缓存超时时间为30s
  2. this.cache('name', 'test', 30);

删除缓存:

  1. this.cache('name', null);