码迷,mamicode.com
首页 > 其他好文 > 详细

redis遇到的问题

时间:2019-10-21 14:53:36      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:red   val   string   over   byte   llb   span   redis   ide   

redis中遇到的问题

/**
 * 为指定KEY设置List值
 * @param key
 * @param list
 * @return
 */
public boolean setListByKey(String key, List<?> list, Long expires){
    if(null==key){
        return false;
    }
    redisTemplate.opsForList().rightPushAll(key, list);
    return redisTemplate.expire(key, expires, TimeUnit.SECONDS);
}

 

其中的redisTemplate.opsForList().rightPushAll(key,list)

rightPushAll需要使用rightPushAll(K key, Collection<V> values) ,但是实际调用了前一个方法rightPushAll(K key, V... values
public Long rightPushAll(K key, V... values) {
   final byte[] rawKey = rawKey(key);
   final byte[][] rawValues = rawValues(values);
   return execute(new RedisCallback<Long>() {
      public Long doInRedis(RedisConnection connection) {
         return connection.rPush(rawKey, rawValues);
      }
   }, true);
}

@Override
public Long rightPushAll(K key, Collection<V> values) {

   final byte[] rawKey = rawKey(key);
   final byte[][] rawValues = rawValues(values);

   return execute(new RedisCallback<Long>() {
      public Long doInRedis(RedisConnection connection) {
         return connection.rPush(rawKey, rawValues);
      }
   }, true);
}

 


解决方式
强制修改参数
public boolean setListByKey(String key, List<?> list, Long expires){
    if(null==key){
        return false;
    }
    redisTemplate.opsForList().rightPushAll(key, (Collection)list);
    return redisTemplate.expire(key, expires, TimeUnit.SECONDS);
}

 

redis遇到的问题

标签:red   val   string   over   byte   llb   span   redis   ide   

原文地址:https://www.cnblogs.com/cqbstyx/p/11713503.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!