feat:redis utils
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
<artifactId>xservice-basic</artifactId>
|
<artifactId>xservice-basic</artifactId>
|
||||||
<version>1.1</version>
|
<version>1.1</version>
|
||||||
</parent>
|
</parent>
|
||||||
<version>1.1</version>
|
<version>2.0</version>
|
||||||
|
|
||||||
<artifactId>xservice-cache-starter</artifactId>
|
<artifactId>xservice-cache-starter</artifactId>
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,81 @@
|
|||||||
package com.xiang.xservice.cache.service;
|
package com.xiang.xservice.cache.service;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
public interface IRedisService {
|
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);
|
||||||
}
|
}
|
||||||
|
|||||||
67
xservice-cache-starter/src/main/java/com/xiang/xservice/cache/service/RedisServiceImpl.java
vendored
Normal file
67
xservice-cache-starter/src/main/java/com/xiang/xservice/cache/service/RedisServiceImpl.java
vendored
Normal file
@@ -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<String, Object> 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user