import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.concurrent.TimeUnit;
@Component
public class RedisStringUtils {
@Autowired
private StringRedisTemplate stringRedisTemplate;
/**
* 根據key獲取value
*
* @param key
* @return
*/
public static String get(String key) {
return stringRedisTemplate.opsForValue().get(key);
}
/**
* 向redis里存入數據和設置緩存時間
*
* @param key
* @param value
* @param time
*/
public static void get(Stirng key, String value, long time) {
stringRedisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
}
/**
* 向redis里存入數據和設置緩存時間
*
* @param key
* @param value
* @param time
* @param timeUnit
*/
public static void get(Stirng key, String value, long time, TimeUnit timeUnit) {
stringRedisTemplate.opsForValue().set(key, value, time, timeUnit);
}
/**
* 檢查key是否存在
*
* @param key
* @return
*/
public static Boolean hasKey(Stirng key) {
return stringRedisTemplate.hasKey(key);
}
/**
* 設置過期時間
*
* @param key
* @param time
*/
public static Boolean expire(Stirng key, long time) {
return stringRedisTemplate.expire(key, time, TimeUnit.MILLISECONDS);
}
/**
* 根據key獲取過期時間並換算成指定單位
*
* @param key
* @return
*/
public static Long getExpire(Stirng key) {
return stringRedisTemplate.getExpire(key, TimeUnit.SECONDS);
}
/**
* 根據key查看集合中是否存在指定數據
*
* @param key
* @param object
* @return
*/
public static Boolean isMember(Stirng key, Object object) {
return stringRedisTemplate.opsForSet().isMember(key, object);
}
}