W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在項目中,合理使用緩存對性能有很大的幫助。ThinkJS 提供了多種的緩存方式,包括:內(nèi)存緩存、文件緩存、Memcache 緩存、Redis 緩存等。
系統(tǒng)默認支持的緩存類型如下:
base
內(nèi)存緩存file
文件緩存memcache
Memcache 緩存redis
Redis 緩存如果使用 memcache
緩存,需要設(shè)置 Memcache 配置信息,見 配置。
如果使用 redis
緩存,需要設(shè)置 Redis 配置信息,見 配置。
默認緩存配置如下,可以在配置文件 src/common/config/cache.js
中進行修改:
export default {
type: "file", //緩存類型
timeout: 6 * 3600, //失效時間,默認為 6 個小時
prefix: "thinkjs_",
path: runtimePrefix + "/cache",
path_depth: 2,
file_ext: ".json"
};
其中 prefix
在 memcache
和 redis
類型中使用,存儲時會將緩存 key + prefix 作為新的 key 來存儲,用于防止跟其他地方使用的緩存 key 沖突。如果不想設(shè)置 prefix,可以將 prefix 設(shè)置為空字符串,如:
export default {
prefix: "" //將緩存 key 前綴設(shè)置為空
}
其中 path
,path_depth
和 file_ext
配置在 file
類型中使用:
path
緩存文件的根目錄path_depth
緩存文件生成子目錄的深度file_ext
緩存文件的擴展名可以通過 think.cache
方法對緩存進行增刪改查操作,具體請見 API -> think。
如果當(dāng)前使用場景在繼承自 think.http.base 的類下,可以通過 this.cache
方法來操作緩存,具體請見 API -> think.http.base。
可以通過下面的命令創(chuàng)建一個名為 foo
緩存類:
thinkjs adapter cache/foo
執(zhí)行完成后,會創(chuàng)建文件 src/common/adapter/cache/foo.js
。擴展緩存類需要實現(xiàn)如下的方法:
export default class extends think.cache.base {
/**
* 初始化方法
* @param {Object} options []
* @return {} []
*/
init(options){
//set gc type & start gc
this.gcType = "cache_foo";
think.gc(this);
}
/**
* 獲取緩存
* @param {String} name []
* @return {Promise} []
*/
get(name){
}
/**
* 設(shè)置緩存
* @param {String} name []
* @param {Mixed} value []
* @param {Number} timeout []
* @return {Promise}
*/
set(name, value, timeout){
}
/**
* 刪除緩存
* @param {String} name []
* @return {Promise} []
*/
delete(name){
}
/**
* 緩存垃圾回收
* @return {Promise} []
*/
gc(){
}
}
框架里的 Cache 實現(xiàn)請見 https://github.com/75team/thinkjs/tree/master/src/adapter/cache。
如何使用第三方的緩存 Adapter 請參見 Adapter -> 介紹。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: