mulitGet
public <T> List<T> mulitGet(Set<String> keys,final Class<T> clazz) {
JSONArray jsonArray = new JSONArray();
List<Object> list = redisTemplate.opsForValue().multiGet(keys);
for (Object o : list) {
if(o != null){
jsonArray.addAll(JSONArray.parseArray(o.toString()));
}
}
if(jsonArray != null && jsonArray.size() > 0){
return JSONObject.parseArray(jsonArray.toJSONString(), clazz);
}
return new ArrayList<>();
}
public List<Object> getRedisList(String key) {
return redisTemplate.opsForList().range(key, 0, -1);
}
executePipelined
public <T> List<T> mulitGet(Set<String> keys,final Class<T> clazz) {
JSONArray jsonArray = new JSONArray();
RedisSerializer stringSerializer = redisTemplate.getStringSerializer();
List<Object> list = redisTemplate.executePipelined(new RedisCallback<String>() {
@Override
public String doInRedis(RedisConnection connection) throws DataAccessException {
for(String key:keys){
connection.get(stringSerializer.serialize(key));
}
return null;
}
},stringSerializer);
for (Object o : list) {
if(o != null){
jsonArray.addAll(JSONArray.parseArray(o.toString()));
}
}
if(jsonArray != null && jsonArray.size() > 0){
return JSONObject.parseArray(jsonArray.toJSONString(), clazz);
}
return new ArrayList<>();
}