工具类添加
parent
4d9a185be5
commit
b89e6988fe
|
@ -13,4 +13,6 @@ public class RedisKey {
|
||||||
public static final String MATCH_SERVER_INFO = "MATCH_SERVER_INFO"; //匹配服务器地址信息
|
public static final String MATCH_SERVER_INFO = "MATCH_SERVER_INFO"; //匹配服务器地址信息
|
||||||
public static final String MATCH_SIZE = "MATCH_SIZE"; //匹配人数设置
|
public static final String MATCH_SIZE = "MATCH_SIZE"; //匹配人数设置
|
||||||
|
|
||||||
|
public static final String MATCHED_SPLIT_KEY = "MATCHED_SPLIT_KEY";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -157,5 +157,97 @@ public class RedisUtil {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 普通缓存放入并设置时间
|
||||||
|
*
|
||||||
|
* @param key
|
||||||
|
* 键
|
||||||
|
* @param value
|
||||||
|
* 值
|
||||||
|
* @param time
|
||||||
|
* 时间(秒) time要大于0 如果time小于等于0 将设置无限期
|
||||||
|
* @return true成功 false 失败
|
||||||
|
*/
|
||||||
|
public boolean set(String key, String value, long time) {
|
||||||
|
try {
|
||||||
|
if (time > 0) {
|
||||||
|
redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
|
||||||
|
} else {
|
||||||
|
set(key, value);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//操作sortset
|
||||||
|
public void zsetAddOne(String key, String uid, double useTime){
|
||||||
|
for (int i = 0; i < MAX_TRY_TIMES; i++) {
|
||||||
|
try {
|
||||||
|
redisTemplate.opsForZSet().add(key, uid, useTime);
|
||||||
|
return;
|
||||||
|
} catch (Exception e) {
|
||||||
|
TimeUtils.sleep(FAILED_SLEEP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//操作sortset
|
||||||
|
public Set<ZSetOperations.TypedTuple<String>> getZsetRevRangeWithScore(String key, double min, double max){
|
||||||
|
for (int i = 0; i < MAX_TRY_TIMES; i++) {
|
||||||
|
try {
|
||||||
|
return redisTemplate.opsForZSet().reverseRangeByScoreWithScores(key,min,max);
|
||||||
|
} catch (Exception e) {
|
||||||
|
TimeUtils.sleep(FAILED_SLEEP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> void putMapEntrys(String type, Map<String,T> valus){
|
||||||
|
Map<String, String> result = new HashMap<>();
|
||||||
|
valus.forEach((k,v)->{
|
||||||
|
result.put(k,gson.toJson(v));
|
||||||
|
});
|
||||||
|
for (int i = 0; i < MAX_TRY_TIMES; i++) {
|
||||||
|
try {
|
||||||
|
redisTemplate.opsForHash().putAll(type,result);
|
||||||
|
return;
|
||||||
|
} catch (Exception e) {
|
||||||
|
TimeUtils.sleep(FAILED_SLEEP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public <T> List<T> getMapEntrys(String type,Collection<Object> mapKeys, Class<T> valueClazz){
|
||||||
|
List<T> result = new ArrayList<>();
|
||||||
|
for (int i = 0; i < MAX_TRY_TIMES; i++) {
|
||||||
|
try {
|
||||||
|
List<Object> objects = redisTemplate.opsForHash().multiGet(type, mapKeys);
|
||||||
|
if(objects!=null &&!objects.isEmpty()){
|
||||||
|
for(Object o : objects){
|
||||||
|
if(o!=null){
|
||||||
|
result.add(gson.fromJson(o.toString(),valueClazz));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
TimeUtils.sleep(FAILED_SLEEP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
public <K,T> Map<K,T> getMapValues(String type,Class<K> keyClazz,Class<T> valueClazz){
|
||||||
|
Map<K,T> result = new HashMap<>();
|
||||||
|
Map<Object, Object> entries = redisTemplate.opsForHash().entries(type);
|
||||||
|
for(Map.Entry<Object,Object> item : entries.entrySet()){
|
||||||
|
Object key1 = item.getKey();
|
||||||
|
Object value = item.getValue();
|
||||||
|
result.put(gson.fromJson(gson.toJson(key1),keyClazz),gson.fromJson(value.toString(),valueClazz));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue