【问题标题】:get all and remove all value from redis using RedisTemplate zSet using wildchar使用通配符使用 RedisTemplate zSet 从 redis 中获取所有值并删除所有值
【发布时间】:2019-12-27 18:52:21
【问题描述】:

如何使用 RedisTemplate zSet 值从 Java 中的 wildchar 键中获取和删除所有值,用于 removeRangeByScore 和 reverseRangeByScore 操作

我正在尝试使用 * 连接,但它不起作用。

redisTemplate.opsForZSet().removeRangeByScore(empId + "*", Double.MIN_VALUE, Double.MAX_VALUE)

寻找

redisTemplate.opsForZSet().reverseRangeByScore(empId + "*", Double.MIN_VALUE, Double.MAX_VALUE);

【问题讨论】:

    标签: java redis


    【解决方案1】:

    你需要先得到一组键:

    Set<String> keys = redisTemplate.keys(empId + "*");
    

    那你需要循环:

    for (String key : keys) {
        redisTemplate.del(key);
    }
    

    请注意,从 zSet 中删除所有值与删除 zSet 相同。 Redis 会删除空集。这就是我在上面使用del 的原因。

    要按分数以相反的顺序获取所有值,请确保使用 Double.NEGATIVE_INFINITYDouble.POSITIVE_INFINITY,因为它们在 Redis 中将转换为 -inf+inf。您还需要遍历此处的所有键。

    【讨论】:

      猜你喜欢
      • 2015-10-15
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      • 1970-01-01
      • 2015-11-05
      • 1970-01-01
      • 2019-06-18
      • 2015-08-24
      相关资源
      最近更新 更多