Commit a325e553 by 庄冰

formCacheTest

parent f6dbba5f
...@@ -12,6 +12,7 @@ class Template extends APIBase { ...@@ -12,6 +12,7 @@ class Template extends APIBase {
this.formsubmitrecordSve= system.getObject("service.configmag.formsubmitrecordSve"); this.formsubmitrecordSve= system.getObject("service.configmag.formsubmitrecordSve");
this.forminfoSve= system.getObject("service.configmag.forminfoSve"); this.forminfoSve= system.getObject("service.configmag.forminfoSve");
this.redisClient = system.getObject("util.redisClient"); this.redisClient = system.getObject("util.redisClient");
this.formCache={};
} }
/** /**
* 接口跳转-POST请求 * 接口跳转-POST请求
...@@ -55,7 +56,16 @@ class Template extends APIBase { ...@@ -55,7 +56,16 @@ class Template extends APIBase {
async getFormInfoById(pobj, qobj, req){ async getFormInfoById(pobj, qobj, req){
var shaStr = "forminfo_"+pobj.id; var shaStr = "forminfo_"+pobj.id;
var rtn = await this.redisClient.get(shaStr); // 先试图从redis读取数据 var rtn = null;
console.log(this.formCache,"+++++++++++++getFormInfoById++++++++++++++++++++++");
if(this.formCache[shaStr]){
rtn = this.formCache[shaStr];
}else{
rtn = await this.redisClient.get(shaStr); // 先试图从redis读取数据
if(rtn){
this.formCache[shaStr] = rtn;
}
}
//---- 从redis中读取到数据 //---- 从redis中读取到数据
if (rtn) { if (rtn) {
var rtnObj = JSON.parse(rtn); var rtnObj = JSON.parse(rtn);
...@@ -64,9 +74,15 @@ class Template extends APIBase { ...@@ -64,9 +74,15 @@ class Template extends APIBase {
let result = await this.forminfoSve.findOne({id:pobj.id},[]); let result = await this.forminfoSve.findOne({id:pobj.id},[]);
// 将数据保存到redis中 // 将数据保存到redis中
await this.redisClient.set(shaStr, JSON.stringify(result)); await this.redisClient.set(shaStr, JSON.stringify(result));
this.formCache[shaStr] = JSON.stringify(result);
return system.getResult(result); return system.getResult(result);
} }
}
//删除表单缓存
async delTemplateFormCache(key){
if(key && this.formCache[key]){
delete this.formCache[key];
}
} }
} }
module.exports = Template; module.exports = Template;
...@@ -130,6 +130,7 @@ class ForminfoService extends ServiceBase { ...@@ -130,6 +130,7 @@ class ForminfoService extends ServiceBase {
let result = await this.updateByWhere(upData,{id:pobj.id}) let result = await this.updateByWhere(upData,{id:pobj.id})
var shaStr = "forminfo_"+pobj.id; var shaStr = "forminfo_"+pobj.id;
await this.redisClient.delete(shaStr); await this.redisClient.delete(shaStr);
await this.redisClient.publish("delTemplateFormCache",shaStr);
return system.getResult(result); return system.getResult(result);
} }
......
...@@ -63,8 +63,13 @@ class RedisClient { ...@@ -63,8 +63,13 @@ class RedisClient {
var tempLinkSve = system.getObject("service.template.templatelinkSve"); var tempLinkSve = system.getObject("service.template.templatelinkSve");
await tempLinkSve.clearTemplateLinkInfoCache(message); await tempLinkSve.clearTemplateLinkInfoCache(message);
} }
if(channel=="delTemplateFormCache" && message ){
var template = system.getObject("api.action.template");
await template.delTemplateFormCache(message);
}
}); });
this.subscribe("delTemplateCache",null); this.subscribe("delTemplateCache",null);
this.subscribe("delTemplateFormCache",null);
} }
async subscribe(channel, chatserver) { async subscribe(channel, chatserver) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment