From be7cbe2d6fbf839d8595af28e5a5517928eb744c Mon Sep 17 00:00:00 2001 From: xxy <773861846@qq.com> Date: Tue, 26 May 2020 00:04:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AC=B2=E5=BC=95=E5=85=A5Redisson=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=E5=AE=9E=E7=8E=B0=E5=88=86=E5=B8=83=E5=BC=8F=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/java2nb/novel/core/listener/BookVisitAddListener.java | 2 ++ .../java/com/java2nb/novel/core/schedule/BookToEsSchedule.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/novel-front/src/main/java/com/java2nb/novel/core/listener/BookVisitAddListener.java b/novel-front/src/main/java/com/java2nb/novel/core/listener/BookVisitAddListener.java index fa23abb..350b8a2 100644 --- a/novel-front/src/main/java/com/java2nb/novel/core/listener/BookVisitAddListener.java +++ b/novel-front/src/main/java/com/java2nb/novel/core/listener/BookVisitAddListener.java @@ -50,6 +50,8 @@ public class BookVisitAddListener { log.debug("收到更新数据库消息:" + bookId); Thread.sleep(1000 * 2); + //TODO 操作共享资源visitCount,集群环境下有线程安全问题,引入Redisson框架实现分布式锁 + //目前visitCount不重要,数据可丢失,暂不实现分布式锁 Integer visitCount = (Integer) cacheService.getObject(CacheKey.BOOK_ADD_VISIT_COUNT+bookId); if(visitCount == null){ visitCount = 0 ; diff --git a/novel-front/src/main/java/com/java2nb/novel/core/schedule/BookToEsSchedule.java b/novel-front/src/main/java/com/java2nb/novel/core/schedule/BookToEsSchedule.java index 1da9ca7..a179255 100644 --- a/novel-front/src/main/java/com/java2nb/novel/core/schedule/BookToEsSchedule.java +++ b/novel-front/src/main/java/com/java2nb/novel/core/schedule/BookToEsSchedule.java @@ -48,6 +48,8 @@ public class BookToEsSchedule { */ @Scheduled(fixedRate = 1000 * 60) public void saveToEs() { + //TODO 引入Redisson框架实现分布式锁 + //可以重复更新,只是效率可能略有降低,所以暂不实现分布式锁 if (cacheService.get(CacheKey.ES_TRANS_LOCK) == null) { cacheService.set(CacheKey.ES_TRANS_LOCK, "1", 60 * 20); try {