当前位置: 首页 > 面试题库 >

无法使用Redis模板进行扫描

王俊楚
2023-03-14
问题内容

我正在尝试使用SCAN
http://redis.io/commands/scan来遍历redis中存在的所有键。但是spring提供的Redis模板没有任何scan()方法。有什么技巧可以使用以上内容吗?

谢谢


问题答案:

您可以使用RedisCallbackon RedisOperations来这样做。

redisTemplate.execute(new RedisCallback<Iterable<byte[]>>() {

  @Override
  public Iterable<byte[]> doInRedis(RedisConnection connection) throws DataAccessException {

    List<byte[]> binaryKeys = new ArrayList<byte[]>();

    Cursor<byte[]> cursor = connection.scan(ScanOptions.NONE);
    while (cursor.hasNext()) {
      binaryKeys.add(cursor.next());
    }

    try {
      cursor.close();
    } catch (IOException e) {
      // do something meaningful
    }

    return binaryKeys;
  }
});


 类似资料:
  • 我试图在类型s. t上专门化一个类。它忽略了给定类型的恒定性。在这种情况下,该类型是一个模板模板参数: 上面的代码在GCC 4.8.4和clang 5.0(with-std=c 11)中都抱怨bar在与匹配FOFType模板参数化的类一起使用时未定义。即使我删除了sfinae参数,仍然无法找到特化。 这个问题的一个例子可以在这里找到:https://godbolt.org/g/Cjci9C.在上面

  • INFO:org.apache.hadoop.hbase.zookeeper.recoverablezookeeper-此进程的标识符为8916@windows-8kv8o4b INFO:org.apache.zookeeper.Client.zookeepersaslClient-Client不会进行SASL身份验证,因为找不到缺省的JAAS配置节“Client”。如果您没有使用SASL,您可以

  • 使用 Groovy 模板引擎框架简化报表视图 视图是 MVC 编程的一个重要部分,而 MVC 编程本身又是企业应用程序开发的一个重要组件。在这篇实战 Groovy 的文章中,Andrew Glover 向您介绍了 Groovy 的模板引擎框架是如何用来简化视图编程的,并如何使您的代码更加经久容易维护。 在最近的 实战 Groovy系列中,我们已经介绍过 Groovy 是构建报表统计程序的一个非常好

  • 问题内容: 我正在尝试使用Jedis使用Spring数据Redis将消息发布到频道。这是一个非常简单的Java配置: 其中。 当我运行以下测试时: 我得到以下堆栈跟踪: 问题答案: 此问题是由与弹簧数据Redis(1.5.0.RELEASE)不兼容的Jedis版本(2.7.2)引起的。我花了3天的时间面对同样的问题,然后才能从这篇文章和评论中得到启发。Jedis版本(2.6.2)可以正常工作(尽管

  • 我有几个类遵循“模板方法”模式。抽象类A,具体扩展类B和C,如下所示: 我想编写一个测试来验证当getData()抛出某个Exception时是否抛出其他Exception。我真的希望避免模拟强制getData()抛出所需的所有复杂依赖关系。我不关心getData()如何抛出,我只想让它抛出。所以我想我要的是部分模拟。这就是我所拥有的: 这个测试在我看来很好,但当我运行它时,我得到了这样的结果:

  • 问题内容: 当前正在将网站从其先前的模板转换为Angular。在之前的模板过程中,我们使用了能够调用辅助方法以正确显示数据的方法。例如: 很好 尝试找出一种在模板化方面将相同类型的功能用于Angular的方法。是否可以做类似的事情?如果可以,怎么办? 问题答案: 您只需将方法添加到控制器即可。像这样: 然后控制器: