From 3b0516a2959e25576e4f3fda697a3b025d06c8c9 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期二, 24 六月 2025 14:09:07 +0800 Subject: [PATCH] 每日录像可用指标添加日志,修改大屏为查看当前月平均 --- ycl-server/src/main/java/com/ycl/utils/redis/RedisCache.java | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/utils/redis/RedisCache.java b/ycl-server/src/main/java/com/ycl/utils/redis/RedisCache.java index b30193b..5a6f3d2 100644 --- a/ycl-server/src/main/java/com/ycl/utils/redis/RedisCache.java +++ b/ycl-server/src/main/java/com/ycl/utils/redis/RedisCache.java @@ -262,4 +262,36 @@ { return redisTemplate.keys(pattern); } + + /** + * 灏濊瘯鑾峰彇閿� + * + * @param lockKey 閿佺殑閿� + * @param requestId 璇锋眰鏍囪瘑锛岀敤浜庡尯鍒嗕笉鍚岀殑閿佹寔鏈夎�� + * @param expireTime 閿佺殑杩囨湡鏃堕棿锛屽崟浣嶄负姣 + * @return 濡傛灉鎴愬姛鑾峰彇閿侊紝杩斿洖 true锛涘惁鍒欒繑鍥� false + */ + public boolean acquireLock(String lockKey, String requestId, long expireTime) { + // 浣跨敤 setIfAbsent 鏂规硶灏濊瘯璁剧疆閿�煎锛屽鏋滈敭涓嶅瓨鍦ㄥ垯璁剧疆鎴愬姛骞惰繑鍥� true锛屽惁鍒欒繑鍥� false + Boolean result = redisTemplate.opsForValue().setIfAbsent(lockKey, requestId, expireTime, TimeUnit.MILLISECONDS); + return result != null && result; + } + + /** + * 閲婃斁閿� + * + * @param lockKey 閿佺殑閿� + * @param requestId 璇锋眰鏍囪瘑锛岀敤浜庣‘淇濆彧鏈夐攣鐨勬寔鏈夎�呮墠鑳介噴鏀鹃攣 + * @return 濡傛灉鎴愬姛閲婃斁閿侊紝杩斿洖 true锛涘惁鍒欒繑鍥� false + */ + public boolean releaseLock(String lockKey, String requestId) { + // 鑾峰彇褰撳墠閿佺殑鍊� + String currentValue = (String) redisTemplate.opsForValue().get(lockKey); + // 妫�鏌ュ綋鍓嶉攣鐨勫�兼槸鍚︾瓑浜庤姹傛爣璇嗭紝纭繚鍙湁閿佺殑鎸佹湁鑰呮墠鑳介噴鏀鹃攣 + if (currentValue != null && currentValue.equals(requestId)) { + // 鍒犻櫎閿侀敭 + return Boolean.TRUE.equals(redisTemplate.delete(lockKey)); + } + return false; + } } -- Gitblit v1.8.0