From 7f38c0bf75eb30e9608ab629db64f6040140d29b Mon Sep 17 00:00:00 2001 From: heqijun Date: Sun, 8 Jun 2025 16:16:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=BD=E5=8F=96cacheclient=E5=88=B0=E5=85=AC?= =?UTF-8?q?=E5=85=B1=E4=BE=9D=E8=B5=96=E6=A8=A1=E5=9D=97common=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/feignclient/CacheClient.java | 27 +--------- .../common/clients/BeaconCacheClient.java | 53 +++++++++++++++++++ .../strategy/feignclient/CacheClient.java | 25 +-------- 3 files changed, 57 insertions(+), 48 deletions(-) create mode 100644 beacon-common/src/main/java/com/mashibing/common/clients/BeaconCacheClient.java diff --git a/beacon-api/src/main/java/com/mashibing/api/feignclient/CacheClient.java b/beacon-api/src/main/java/com/mashibing/api/feignclient/CacheClient.java index 661e19b..488e284 100644 --- a/beacon-api/src/main/java/com/mashibing/api/feignclient/CacheClient.java +++ b/beacon-api/src/main/java/com/mashibing/api/feignclient/CacheClient.java @@ -1,5 +1,6 @@ package com.mashibing.api.feignclient; +import com.mashibing.common.clients.BeaconCacheClient; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; @@ -14,30 +15,6 @@ import java.util.Set; */ @FeignClient("beacon-cache") -//@RequestMapping("cache") -public interface CacheClient { - @GetMapping("/cache/get/{key}") - String get(@PathVariable String key); +public interface CacheClient extends BeaconCacheClient { - @GetMapping("/cache/set/{key}/{value}") - void set(@PathVariable String key, @PathVariable String value); - - @GetMapping("/cache/hget/{key}") - Map hget(@PathVariable String key); - - @GetMapping("/cache/hget/{key}/{field}") - Object hget(@PathVariable(value = "key") String key, @PathVariable(value = "field") String field); - - // 这是弄成了两个接口先处理了一下是吧。 - @GetMapping("/cache/hget/{key}/{field}") - String hgetString(@PathVariable(value = "key") String key, @PathVariable(value = "field") String field); - - @PostMapping("/cache/hset/{key}") - void hset(@PathVariable String key, @RequestBody Map hash); - - @PostMapping("/cache/sadd/{key}") - void sadd(@PathVariable(value = "key") String key, @RequestBody Map... maps); - - @PostMapping("/cache/smember/{key}") - Set smember(@PathVariable(value = "key") String key); } diff --git a/beacon-common/src/main/java/com/mashibing/common/clients/BeaconCacheClient.java b/beacon-common/src/main/java/com/mashibing/common/clients/BeaconCacheClient.java new file mode 100644 index 0000000..734cc1c --- /dev/null +++ b/beacon-common/src/main/java/com/mashibing/common/clients/BeaconCacheClient.java @@ -0,0 +1,53 @@ +package com.mashibing.common.clients; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.Map; +import java.util.Set; + +/** + * @author heqijun + * @ClassName: BeaconCacheClient + * @Description: 公共依赖中缓存接口父接口 + * @date 2025/6/8 16:08 + */ + +public interface BeaconCacheClient { + + @GetMapping("cache/get/{key}") + String get(@PathVariable String key); + + @GetMapping("cache/set/{key}/{value}") + void set(@PathVariable String key, @PathVariable String value); + + @GetMapping("cache/hget/{key}") + Map hget(@PathVariable String key); + + @GetMapping("cache/hget/{key}/{field}") + Object hget(@PathVariable(value = "key") String key, @PathVariable(value = "field") String field); + + @GetMapping("cache/hgetString/{key}/{field}") + String hgetString(@PathVariable(value = "key") String key, @PathVariable(value = "field") String field); + + @PostMapping("cache/hset/{key}") + void hset(@PathVariable String key, @RequestBody Map hash); + + @PostMapping("cache/sadd/{key}") + void sadd(@PathVariable(value = "key") String key, @RequestBody Map... value); + + @PostMapping("cache/smember/{key}") + Set smember(@PathVariable(value = "key") String key); + + /** + * 大批量写入String数据 + * + * @param map key是key,value是value + */ + @PostMapping("cache/pipeline/string") + void pipelineString(@RequestBody Map map); + +} diff --git a/beacon-strategy/src/main/java/com/mashibing/strategy/feignclient/CacheClient.java b/beacon-strategy/src/main/java/com/mashibing/strategy/feignclient/CacheClient.java index ad87879..558bc6a 100644 --- a/beacon-strategy/src/main/java/com/mashibing/strategy/feignclient/CacheClient.java +++ b/beacon-strategy/src/main/java/com/mashibing/strategy/feignclient/CacheClient.java @@ -1,5 +1,6 @@ package com.mashibing.strategy.feignclient; +import com.mashibing.common.clients.BeaconCacheClient; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -17,28 +18,6 @@ import java.util.Set; */ @FeignClient("beacon-cache") -public interface CacheClient { - @GetMapping("/cache/get/{key}") - String get(@PathVariable String key); +public interface CacheClient extends BeaconCacheClient { - @GetMapping("/cache/set/{key}/{value}") - void set(@PathVariable String key, @PathVariable String value); - - @GetMapping("/cache/hget/{key}") - Map hget(@PathVariable String key); - - @GetMapping("/cache/hget/{key}/{field}") - Object hget(@PathVariable(value = "key") String key, @PathVariable(value = "field") String field); - - @GetMapping("/cache/hget/{key}/{field}") - String hgetString(@PathVariable(value = "key") String key, @PathVariable(value = "field") String field); - - @PostMapping("/cache/hset/{key}") - void hset(@PathVariable String key, @RequestBody Map hash); - - @PostMapping("/cache/sadd/{key}") - void sadd(@PathVariable(value = "key") String key, @RequestBody Map... maps); - - @PostMapping("/cache/smember/{key}") - Set smember(@PathVariable(value = "key") String key); }