【发布时间】: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