【问题标题】:RedisConnection exists method is always returning null (Spring boot data redis)RedisConnection 存在方法总是返回 null(Spring 启动数据 redis)
【发布时间】:2021-10-25 05:36:25
【问题描述】:

我有一个密钥visted =“visted”,密钥存在于redis db中。我正在用java编写程序。当我使用 redis 模板 hasKey 功能检查时,它是真实的。

redisTemplate.hasKey(visited)

这是真的,但是当我在管道中执行此操作时,使用 redisConnection 存在函数它始终为空。

redisTemplate.executePipelined((RedisCallback<Object>) connection -> {
System.out.println(connection.exists(visted.getBytes()));
return null;
});

它总是以 null 的形式出现。虽然我可以使用管道更改访问键的值。

redisTemplate.executePipelined((RedisCallback<Object>) connection -> {
connection.set("visited".getBytes(), "false".getBytes());
return null;
});

将访问键的值设置为“false”

编辑 1:

我也试过StringRedisConnection直接通过管道写入字符串值。

redisTemplate.executePipelined((RedisCallback<Object>) connection -> {
StringRedisConnection stringRedisConnection = (StringRedisConnection)connection;
stringRedisConnection.set("visited", "true");             
System.out.println(stringRedisConnection.exists("visited"));
return null;
));

我仍然在这里得到空值。

【问题讨论】:

    标签: java spring spring-boot redis spring-data-redis


    【解决方案1】:

    所有操作在 RedisTemplate#executePipelined 中总是返回 null

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 2020-08-16
      • 2021-12-30
      • 1970-01-01
      • 2016-07-10
      • 2016-02-10
      • 1970-01-01
      相关资源
      最近更新 更多