2.4.1 • Published 4 years ago

think_cache v2.4.1

Weekly downloads
1
License
MIT
Repository
-
Last release
4 years ago

介绍


npm version

Cache for ThinkKoa, support file, memcache, redis.

安装


npm i think_cache

使用


Thinkkoa

1、项目中增加中间件

think middleware cache

2、修改 middleware/cache.js:

module.exports = require('think_cache');

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

list: [...,'cache'], //加载的中间件列表
config: { //中间件配置
    ...,
    cache: {
        type: 'file', //数据缓存类型 file,redis,memcache
        key_prefix: 'ThinkKoa:', //缓存key前置
        timeout: 6 * 3600, //数据缓存有效期,单位: 秒

        //type=file
        file_suffix: '.json', //File缓存方式下文件后缀名
        gc_hour: [4], //缓存清除的时间点,数据为小时
        file_path: process.env.ROOT_PATH + '/cache',

        //type=redis
        // host: '127.0.0.1',
        // port: 6379,
        // password: '',
        // db: '0',

        //type=memcache
        // host: '127.0.0.1',
        // port: 11211,

        poolsize: 10, //pool size
        conn_timeout: 5000, //try connection timeout
    }
}

Koatty

1、项目中增加中间件

koatty middleware cache;

2、修改 middleware/Cache.ts:

import { Middleware } from "../core/Component";
import { Koatty } from "../Koatty";
const cache = require("think_cache");

@Middleware()
export class Cache {
    run(options: any, app: Koatty) {
        return cache(options, app);
    }
}

3、项目中间件配置 config/middleware.ts:

list: [...,'Cache'], //加载的中间件列表
config: { //中间件配置
    ...,
    Cache: {
        type: 'file', //数据缓存类型 file,redis,memcache
        key_prefix: 'ThinkKoa:', //缓存key前置
        timeout: 6 * 3600, //数据缓存有效期,单位: 秒

        //type=file
        file_suffix: '.json', //File缓存方式下文件后缀名
        gc_hour: [4], //缓存清除的时间点,数据为小时
        file_path: process.env.ROOT_PATH + '/cache',

        //type=redis
        // host: '127.0.0.1',
        // port: 6379,
        // password: '',
        // db: '0',

        //type=memcache
        // host: '127.0.0.1',
        // port: 11211,

        poolsize: 10, //pool size
        conn_timeout: 5000, //try connection timeout
    }
}




## 缓存
-----

// in controller this.app.cacheStore.set(name, value);

//in middleware app.cacheStore.set(name, value);

//redis lua stript app.cacheClient.command(.command('redisIncrby', { numberOfKeys: 1, lua: return redis.call("incrby",KEYS[1],ARGV[1]) });

2.4.1

4 years ago

2.3.0

4 years ago

2.4.0

4 years ago

2.2.1

4 years ago

2.2.2

4 years ago

2.2.0

4 years ago

2.0.4

6 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.2.0

6 years ago

1.1.0

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago