From 3315704efdbbcf033e13258adfec0997d2f615ee Mon Sep 17 00:00:00 2001 From: mxd <838425805@qq.com> Date: Wed, 7 Jul 2021 08:11:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BF=AE=E6=94=B9=E5=88=86?= =?UTF-8?q?=E7=BB=84=E5=90=8D=E7=A7=B0=E5=8F=AF=E8=83=BD=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E7=9A=84=E7=A9=BA=E6=8C=87=E9=92=88=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../magicapi/adapter/resource/DatabaseResource.java | 8 ++++---- .../ssssssss/magicapi/adapter/resource/RedisResource.java | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/adapter/resource/DatabaseResource.java b/magic-api/src/main/java/org/ssssssss/magicapi/adapter/resource/DatabaseResource.java index 0bbbd308..f7356596 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/adapter/resource/DatabaseResource.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/adapter/resource/DatabaseResource.java @@ -61,7 +61,6 @@ public class DatabaseResource extends KeyValueResource { @Override public void readAll() { - this.cachedContent.clear(); String sql = String.format("select file_path, file_content from %s where file_path like '%s%%'", tableName, this.path); SqlRowSet sqlRowSet = template.queryForRowSet(sql); while (sqlRowSet.next()) { @@ -93,7 +92,7 @@ public class DatabaseResource extends KeyValueResource { @Override public boolean exists() { - if (this.cachedContent.containsKey(this.path)) { + if (this.cachedContent.get(this.path) != null) { return true; } String sql = String.format("select count(*) from %s where file_path = ?", tableName); @@ -137,9 +136,10 @@ public class DatabaseResource extends KeyValueResource { @Override public boolean delete() { - String sql = String.format("delete from %s where file_path = ? or file_path like '%s%%'", tableName, isDirectory() ? this.path : this.path + separator); + String path = isDirectory() ? this.path : this.path + separator; + String sql = String.format("delete from %s where file_path = ? or file_path like '%s%%'", tableName, path); if (template.update(sql, this.path) > 0) { - this.cachedContent.remove(this.path); + this.cachedContent.entrySet().removeIf(entry -> entry.getKey().startsWith(path)); return true; } return false; diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/adapter/resource/RedisResource.java b/magic-api/src/main/java/org/ssssssss/magicapi/adapter/resource/RedisResource.java index 197ee3e8..c87aaa09 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/adapter/resource/RedisResource.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/adapter/resource/RedisResource.java @@ -31,7 +31,6 @@ public class RedisResource extends KeyValueResource { @Override public void readAll() { - this.cachedContent.clear(); List keys = new ArrayList<>(keys()); List values = redisTemplate.opsForValue().multiGet(keys); if (values != null) { @@ -66,7 +65,7 @@ public class RedisResource extends KeyValueResource { @Override public boolean exists() { - if (this.cachedContent.containsKey(this.path)) { + if (this.cachedContent.get(this.path) != null) { return true; } return Boolean.TRUE.equals(this.redisTemplate.hasKey(this.path));