From 7264d09d329cf0ff533d59fa6b7a01c605fa5b8c Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 14 七月 2023 14:36:26 +0800 Subject: [PATCH] 添加查询图层的缓存功能 --- src/main/java/com/lf/server/controller/data/PublishController.java | 18 ++++++++- src/main/java/com/lf/server/service/data/LayerService.java | 28 ++++++++++++- src/main/java/com/lf/server/controller/data/LayerController.java | 18 +++++++++ src/main/java/com/lf/server/service/all/PermsService.java | 5 +- src/main/java/com/lf/server/entity/all/RedisCacheKey.java | 7 +++ 5 files changed, 69 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/lf/server/controller/data/LayerController.java b/src/main/java/com/lf/server/controller/data/LayerController.java index 91e96d0..08c1f42 100644 --- a/src/main/java/com/lf/server/controller/data/LayerController.java +++ b/src/main/java/com/lf/server/controller/data/LayerController.java @@ -139,6 +139,9 @@ } int count = layerService.insert(entity); + if (count > 0) { + layerService.clearCache(); + } return success(count); } catch (Exception ex) { @@ -162,6 +165,9 @@ } int count = layerService.inserts(list); + if (count > 0) { + layerService.clearCache(); + } return success(count); } catch (Exception ex) { @@ -178,6 +184,9 @@ public ResponseMsg<Integer> delete(int id) { try { int count = layerService.delete(id); + if (count > 0) { + layerService.clearCache(); + } return success(count); } catch (Exception ex) { @@ -198,6 +207,9 @@ } int count = layerService.deletes(ids); + if (count > 0) { + layerService.clearCache(); + } return success(count); } catch (Exception ex) { @@ -220,6 +232,9 @@ } int count = layerService.update(entity); + if (count > 0) { + layerService.clearCache(); + } return success(count); } catch (Exception ex) { @@ -244,6 +259,9 @@ } int count = layerService.updates(list); + if (count > 0) { + layerService.clearCache(); + } return success(count); } catch (Exception ex) { diff --git a/src/main/java/com/lf/server/controller/data/PublishController.java b/src/main/java/com/lf/server/controller/data/PublishController.java index b28ab65..bd61d51 100644 --- a/src/main/java/com/lf/server/controller/data/PublishController.java +++ b/src/main/java/com/lf/server/controller/data/PublishController.java @@ -9,6 +9,7 @@ import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.StringHelper; import com.lf.server.helper.WebHelper; +import com.lf.server.service.data.LayerService; import com.lf.server.service.data.PublishService; import com.lf.server.service.sys.TokenService; import io.swagger.annotations.Api; @@ -18,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -29,11 +31,14 @@ @RestController @RequestMapping("/publish") public class PublishController extends BaseController { - @Autowired + @Resource PublishService publishService; - @Autowired + @Resource TokenService tokenService; + + @Resource + LayerService layerService; @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ鍏冩暟鎹�") @@ -190,6 +195,9 @@ String method = getConvertMethod(entity.getType()); long count = publishService.postForPub(entity, method, req); + if (count > 0) { + layerService.clearCache(); + } return success(count); } catch (Exception ex) { @@ -241,6 +249,9 @@ publishService.deleteFiles(list); int count = publishService.deletes(ids, req); + if (count > 0) { + layerService.clearCache(); + } return success(count); } catch (Exception ex) { @@ -263,6 +274,9 @@ } int count = publishService.update(entity); + if (count > 0) { + layerService.clearCache(); + } return success(count); } catch (Exception ex) { diff --git a/src/main/java/com/lf/server/entity/all/RedisCacheKey.java b/src/main/java/com/lf/server/entity/all/RedisCacheKey.java index 27bff13..0699458 100644 --- a/src/main/java/com/lf/server/entity/all/RedisCacheKey.java +++ b/src/main/java/com/lf/server/entity/all/RedisCacheKey.java @@ -41,6 +41,13 @@ } /** + * 鍥惧眰鎺堟潈閿� + */ + public static String permsLayerKey(String key) { + return "perms:layer:" + key; + } + + /** * 鑿滃崟鎺堟潈閿� */ public static String permsMenusKey(String key) { diff --git a/src/main/java/com/lf/server/service/all/PermsService.java b/src/main/java/com/lf/server/service/all/PermsService.java index 4b62e45..3292b96 100644 --- a/src/main/java/com/lf/server/service/all/PermsService.java +++ b/src/main/java/com/lf/server/service/all/PermsService.java @@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.List; import java.util.concurrent.TimeUnit; @@ -15,10 +16,10 @@ */ @Service public class PermsService implements PermsMapper { - @Autowired + @Resource PermsMapper permsMapper; - @Autowired + @Resource RedisService redisService; @Override diff --git a/src/main/java/com/lf/server/service/data/LayerService.java b/src/main/java/com/lf/server/service/data/LayerService.java index bbb6aa5..25cfe10 100644 --- a/src/main/java/com/lf/server/service/data/LayerService.java +++ b/src/main/java/com/lf/server/service/data/LayerService.java @@ -1,12 +1,16 @@ package com.lf.server.service.data; +import com.lf.server.entity.all.RedisCacheKey; +import com.lf.server.entity.all.SettingData; import com.lf.server.entity.data.LayerEntity; import com.lf.server.helper.StringHelper; import com.lf.server.mapper.data.LayerMapper; -import org.springframework.beans.factory.annotation.Autowired; +import com.lf.server.service.all.RedisService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.List; +import java.util.concurrent.TimeUnit; /** * 鍥惧眰 @@ -14,8 +18,11 @@ */ @Service public class LayerService implements LayerMapper { - @Autowired + @Resource LayerMapper layerMapper; + + @Resource + RedisService redisService; @Override public Integer selectCount(String cnName) { @@ -33,7 +40,22 @@ @Override public List<LayerEntity> selectAll() { - return layerMapper.selectAll(); + String key = RedisCacheKey.permsLayerKey(""); + Object obj = redisService.get(key); + if (obj instanceof List<?>) { + return (List<LayerEntity>) obj; + } + + List<LayerEntity> list = layerMapper.selectAll(); + if (list != null && list.size() > 0) { + redisService.put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES); + } + + return list; + } + + public void clearCache() { + redisService.clearKeys(RedisCacheKey.permsLayerKey("")); } @Override -- Gitblit v1.9.3