From 010911173488251157e39322ea413f20f5db91e2 Mon Sep 17 00:00:00 2001 From: weizhiqiang <598748873@qq.com> Date: Sun, 18 Nov 2018 02:06:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0redis=E5=86=85=E5=AD=98?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/SysRedisMonitorService.java | 2 ++ .../impl/SysRedisMonitorServiceImpl.java | 20 ++++++++++++++ .../jedis/JedisClientClusterService.java | 8 +++--- .../skyeye/jedis/impl/JedisClientCluster.java | 27 +++++++++++++++---- .../controller/SysRedisMonitorController.java | 16 +++++++++++ .../src/main/resources/mapping/reqmapping.xml | 4 ++- .../webapp/tpl/sysredis/redismonitorlist.html | 6 +++-- 7 files changed, 71 insertions(+), 12 deletions(-) diff --git a/skyeye-service/src/main/java/com/skyeye/authority/service/SysRedisMonitorService.java b/skyeye-service/src/main/java/com/skyeye/authority/service/SysRedisMonitorService.java index 2f14439b2..aca03254f 100644 --- a/skyeye-service/src/main/java/com/skyeye/authority/service/SysRedisMonitorService.java +++ b/skyeye-service/src/main/java/com/skyeye/authority/service/SysRedisMonitorService.java @@ -9,4 +9,6 @@ public interface SysRedisMonitorService { public void queryRedisLogsList(InputObject inputObject, OutputObject outputObject) throws Exception; + public void queryRedisKeysList(InputObject inputObject, OutputObject outputObject) throws Exception; + } diff --git a/skyeye-service/src/main/java/com/skyeye/authority/service/impl/SysRedisMonitorServiceImpl.java b/skyeye-service/src/main/java/com/skyeye/authority/service/impl/SysRedisMonitorServiceImpl.java index 58d8475f0..b32f576e2 100644 --- a/skyeye-service/src/main/java/com/skyeye/authority/service/impl/SysRedisMonitorServiceImpl.java +++ b/skyeye-service/src/main/java/com/skyeye/authority/service/impl/SysRedisMonitorServiceImpl.java @@ -64,4 +64,24 @@ public class SysRedisMonitorServiceImpl implements SysRedisMonitorService{ outputObject.settotal(beans.size()); } + /** + * + * @Title: queryRedisKeysList + * @Description: 获取当前数据库中key的数量 + * @param @param inputObject + * @param @param outputObject + * @param @throws Exception 参数 + * @return void 返回类型 + * @throws + */ + @Override + public void queryRedisKeysList(InputObject inputObject, OutputObject outputObject) throws Exception { + List> beans = jedisClientClusterService.getClusterNodes(); + for(Map bean : beans){ + bean.put("keys", jedisClientClusterService.dbSize(bean.get("ip").toString())); + } + outputObject.setBeans(beans); + outputObject.settotal(beans.size()); + } + } diff --git a/skyeye-service/src/main/java/com/skyeye/jedis/JedisClientClusterService.java b/skyeye-service/src/main/java/com/skyeye/jedis/JedisClientClusterService.java index 9bdfa7195..e4b9e5615 100644 --- a/skyeye-service/src/main/java/com/skyeye/jedis/JedisClientClusterService.java +++ b/skyeye-service/src/main/java/com/skyeye/jedis/JedisClientClusterService.java @@ -34,11 +34,11 @@ public interface JedisClientClusterService { * * @Title: dbSize * @Description: 获取占用内存大小 - * @param @return - * @param @throws Exception 参数 + * @param @param ip + * @param @return 参数 * @return Long 返回类型 * @throws */ - public Long dbSize(String ip); - + public Map dbSize(String ip); + } diff --git a/skyeye-service/src/main/java/com/skyeye/jedis/impl/JedisClientCluster.java b/skyeye-service/src/main/java/com/skyeye/jedis/impl/JedisClientCluster.java index 6a09b5320..b2e669ed3 100644 --- a/skyeye-service/src/main/java/com/skyeye/jedis/impl/JedisClientCluster.java +++ b/skyeye-service/src/main/java/com/skyeye/jedis/impl/JedisClientCluster.java @@ -7,17 +7,13 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Map.Entry; - import net.sf.json.JSONArray; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; - import com.alibaba.fastjson.JSON; import com.skyeye.common.util.ToolUtil; import com.skyeye.jedis.JedisClient; import com.skyeye.jedis.JedisClientClusterService; - import redis.clients.jedis.Client; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisCluster; @@ -234,7 +230,28 @@ public class JedisClientCluster implements JedisClient, JedisClientClusterServic } @Override - public Long dbSize(String ip) { + public Map dbSize(String ip) { + Jedis jedis = null; + try { + Map jedisPools = jedisCluster.getClusterNodes(); + Iterator> entries = jedisPools.entrySet().iterator(); + while (entries.hasNext()) { + Entry entry = entries.next(); + if(entry.getKey().indexOf(ip) != -1){ + jedis = entry.getValue().getResource(); + //配置redis服务信息 + Client client = jedis.getClient(); + client.dbSize(); + long dbSize = client.getIntegerReply(); + jedis.close(); + Map map = new HashMap(); + map.put("createTime", ToolUtil.getTimeAndToString()); + map.put("dbSize", dbSize); + return map; + } + } + } finally { + } return null; } diff --git a/skyeye-web/src/main/java/com/skyeye/authority/controller/SysRedisMonitorController.java b/skyeye-web/src/main/java/com/skyeye/authority/controller/SysRedisMonitorController.java index 7f7cc320e..5c9d06996 100644 --- a/skyeye-web/src/main/java/com/skyeye/authority/controller/SysRedisMonitorController.java +++ b/skyeye-web/src/main/java/com/skyeye/authority/controller/SysRedisMonitorController.java @@ -48,4 +48,20 @@ public class SysRedisMonitorController { sysRedisMonitorService.queryRedisLogsList(inputObject, outputObject); } + /** + * + * @Title: queryRedisKeysList + * @Description: 获取当前数据库中key的数量 + * @param @param inputObject + * @param @param outputObject + * @param @throws Exception 参数 + * @return void 返回类型 + * @throws + */ + @RequestMapping("/post/SysRedisMonitorController/queryRedisKeysList") + @ResponseBody + public void queryRedisKeysList(InputObject inputObject, OutputObject outputObject) throws Exception{ + sysRedisMonitorService.queryRedisKeysList(inputObject, outputObject); + } + } diff --git a/skyeye-web/src/main/resources/mapping/reqmapping.xml b/skyeye-web/src/main/resources/mapping/reqmapping.xml index 7a789c029..1aaad6a01 100644 --- a/skyeye-web/src/main/resources/mapping/reqmapping.xml +++ b/skyeye-web/src/main/resources/mapping/reqmapping.xml @@ -160,7 +160,9 @@ - + + + diff --git a/skyeye-web/src/main/webapp/tpl/sysredis/redismonitorlist.html b/skyeye-web/src/main/webapp/tpl/sysredis/redismonitorlist.html index 9e0b77eb1..80f2872d6 100644 --- a/skyeye-web/src/main/webapp/tpl/sysredis/redismonitorlist.html +++ b/skyeye-web/src/main/webapp/tpl/sysredis/redismonitorlist.html @@ -15,7 +15,7 @@
  • redis服务器信息
  • redis日志信息
  • -
  • Area
  • +
  • redis内存数量
  • Pie
@@ -34,7 +34,9 @@
-
3
+
+ +
4
-- GitLab