From a1f060f3d2205fbe5cfc1672ad2bb0212e350c65 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Sat, 3 Nov 2018 11:25:39 +0800 Subject: [PATCH] verify cache value --- middleware/lru-cache.js | 18 ++++++++++++++++-- middleware/redis-cache.js | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/middleware/lru-cache.js b/middleware/lru-cache.js index 34f6a5b55..4be27b186 100644 --- a/middleware/lru-cache.js +++ b/middleware/lru-cache.js @@ -20,8 +20,22 @@ module.exports = function(options = {}) { }); options.app.context.cache = { - get: (key) => memoryCache.get(key), - set: (key, value, maxAge) => memoryCache.set(key, value, maxAge * 1000), + get: (key) => { + if (key) { + memoryCache.get(key); + } + }, + set: (key, value, maxAge) => { + if (!value) { + value = ''; + } + if (typeof value === 'object') { + value = JSON.stringify(value); + } + if (key) { + memoryCache.set(key, value, maxAge * 1000); + } + }, }; return async function cache(ctx, next) { diff --git a/middleware/redis-cache.js b/middleware/redis-cache.js index 15eb4bd23..0115fe9fa 100644 --- a/middleware/redis-cache.js +++ b/middleware/redis-cache.js @@ -41,8 +41,22 @@ module.exports = function(options = {}) { }); options.app.context.cache = { - get: async (key) => await redisClient.get(key), - set: async (key, value, maxAge) => await redisClient.setex(key, maxAge, value), + get: async (key) => { + if (key) { + await redisClient.get(key); + } + }, + set: async (key, value, maxAge) => { + if (!value) { + value = ''; + } + if (typeof value === 'object') { + value = JSON.stringify(value); + } + if (key) { + await redisClient.setex(key, maxAge, value); + } + }, }; return async function cache(ctx, next) {