diff --git a/xservice-cache-starter/pom.xml b/xservice-cache-starter/pom.xml index 4b5b18c..276de10 100644 --- a/xservice-cache-starter/pom.xml +++ b/xservice-cache-starter/pom.xml @@ -8,7 +8,7 @@ xservice-basic 1.1 - 1.1 + 2.0 xservice-cache-starter diff --git a/xservice-cache-starter/src/main/java/com/xiang/xservice/cache/service/IRedisService.java b/xservice-cache-starter/src/main/java/com/xiang/xservice/cache/service/IRedisService.java index 05b8109..227cfcc 100644 --- a/xservice-cache-starter/src/main/java/com/xiang/xservice/cache/service/IRedisService.java +++ b/xservice-cache-starter/src/main/java/com/xiang/xservice/cache/service/IRedisService.java @@ -1,4 +1,81 @@ package com.xiang.xservice.cache.service; +import java.util.concurrent.TimeUnit; + public interface IRedisService { + + /** + * SET String 数据类型key + * @param key key + * @param value value + */ + void set(String key, String value); + + /** + * SET String 数据类型key + * @param key key + * @param value value + * @param timeout 过期时间 + * @param unit 时间单位 + */ + void set(String key, String value, long timeout, TimeUnit unit); + + /** + * SET String 数据类型key + * @param group 项目名称 + * @param key key + * @param value value + */ + void set(String group, String key, Object value); + + /** + * SET String 数据类型key + * @param group 项目名称 + * @param key key + * @param value value + * @param timeout 过期时间 + * @param unit 时间单位 + */ + void set(String group, String key, String value, long timeout, TimeUnit unit); + + /** + * GET String数据类型 + * @param key key + * @return value String数据类型 + */ + Object get(String key); + + /** + * GET String数据类型 + * @param group 项目名称 + * @param key key + * @return value String数据类型 + */ + Object get(String group, String key); + + /** + * delete String数据类型 + * @param group 项目名称 + * @param key key + * @return 是否成功 + */ + Boolean delKey(String group, String key); + + /** + * 判断redis是否存在key + * @param group 项目名称 + * @param key key + * @return 是否存在 + */ + Boolean hasKey(String group, String key); + + /** + * 设置过期时间 + * @param group 项目名称 + * @param key key + * @param timeout 过期时间 + * @param unit 时间单位 + * @return 是否成功 + */ + Boolean expire(String group, String key, long timeout, TimeUnit unit); } diff --git a/xservice-cache-starter/src/main/java/com/xiang/xservice/cache/service/RedisServiceImpl.java b/xservice-cache-starter/src/main/java/com/xiang/xservice/cache/service/RedisServiceImpl.java new file mode 100644 index 0000000..fc91a26 --- /dev/null +++ b/xservice-cache-starter/src/main/java/com/xiang/xservice/cache/service/RedisServiceImpl.java @@ -0,0 +1,67 @@ +package com.xiang.xservice.cache.service; + +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.concurrent.TimeUnit; + +@Service +@RequiredArgsConstructor +public class RedisServiceImpl implements IRedisService { + + private final RedisTemplate redisTemplate; + + @Value("${spring.application.name}") + private String group; + + @Override + public void set(String key, String value) { + redisTemplate.opsForValue().set(buildKey(group, key), value); + } + + @Override + public void set(String key, String value, long timeout, TimeUnit unit) { + redisTemplate.opsForValue().set(buildKey(group, key), value, timeout, unit); + } + + @Override + public void set(String group, String key, Object value) { + redisTemplate.opsForValue().set(buildKey(group, key), value); + } + + @Override + public void set(String group, String key, String value, long timeout, TimeUnit unit) { + redisTemplate.opsForValue().set(buildKey(group, key), value, timeout, unit); + } + + @Override + public Object get(String key) { + return redisTemplate.opsForValue().get(buildKey(group, key)); + } + + @Override + public Object get(String group, String key) { + return redisTemplate.opsForValue().get(buildKey(group, key)); + } + + @Override + public Boolean delKey(String group, String key) { + return redisTemplate.delete(buildKey(group, key)); + } + + @Override + public Boolean hasKey(String group, String key) { + return redisTemplate.hasKey(buildKey(group, key)); + } + + @Override + public Boolean expire(String group, String key, long timeout, TimeUnit unit) { + return redisTemplate.expire(buildKey(group, key), timeout, unit); + } + + private String buildKey(String group, String key) { + return String.format("%s:%s", group, key); + } +}