feat:redis utils
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
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