首页 新闻 会员 周边 捐助

SpringBoot redis redisTemplate 如何删除list里的对象

0
[待解决问题]

使用SpringBoot开发集成redis的时候,想把原本mysql字典列表,移至redis。查询和存储都没问题,但是像删除list某个对象的时候,发现怎么也删除不了。

redisTemplate.opsForList().remove(key, count, value);所提供的方法,value传递对象,相同的对象还是无法删除。
想根据坐标删除,但是opsForList好像并没有根据list坐标删除的方法。
请大家帮忙解决

香酥鸡腿鸡翅的主页 香酥鸡腿鸡翅 | 初学一级 | 园豆:188
提问于:2019-04-25 10:46
< >
分享
所有回答(1)
0

你看下源码:
/**

  • Removes the first {@code count} occurrences of {@code value} from the list stored at {@code key}.
  • @param key must not be {@literal null}.
  • @param count
  • @param value
  • @return {@literal null} when used in pipeline / transaction.
  • @see <a href="http://redis.io/commands/lrem">Redis Documentation: LREM</a>
    */
    @Nullable
    Long remove(K key, long count, Object value);
    “Removes the first {@code count} occurrences of {@code value} from the list stored at {@code key}”
    前面看错了,又去官网看了下:https://redis.io/commands/lrem
    是你说的那个意思,但是不清楚为什么出现你那种,等放假了再来研究吧
无恨之都 | 园豆:287 (菜鸟二级) | 2019-04-25 11:55

不对吧。我看给出来的解释是移除等于value的元素
当count>0时,从表头开始查找,移除count个
当count=0时,从表头开始查找,移除所有等于value的
当count<0时,从表尾开始查找,移除count个,
count是数量不是坐标,如果是删除该坐标为什么还要传个value。
如果用Jedis如何删除list某个对象呢、不是要删除重复的

支持(0) 反对(0) 香酥鸡腿鸡翅 | 园豆:188 (初学一级) | 2019-04-25 14:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册