Redis BITOP 使用 Spring 数据 Redis
Redis BITOP using Spring data Redis
我正在寻找使用 Spring RedisTemplate 执行 Redis BITOP 的选项。我试着在互联网上搜索一个例子,但找不到类似的东西。我能够从 JedisStringCommands class 获得 bitOp 函数,但不确定如何使用它。
要求是对存储在REDIS中的两个键的值进行AND运算,然后将其保存到不同的键中。
寻找 Spring Redis 实现
查看 Spring Docs 我没有看到任何内置的 bitop 命令。
我认为您可以使用 public <T> T execute(RedisCallback<T> action)
然后使用 Redis
本机命令。这是一个 link to that function's 文档。
我想我找到了解决办法。这不是一种优雅的方式,但我能够设法在密钥上执行位操作。这是我用过的
redisTemplate.getConnectionFactory().getConnection().bitOp(BitOperation.AND,JedisConverters.toBytes(destination), JedisConverters.toBytes(firstKey),JedisConverters.toBytes(lsecondKey));
可能对遇到上述问题的人有用。
long count=redisTemplate.execute((RedisCallback<Long>)
con->con.bitOp(RedisStringCommands.BitOperation.AND,
"20210428".getBytes(),
"20210429".getBytes(),
"20210430".getBytes()
)
);
我正在寻找使用 Spring RedisTemplate 执行 Redis BITOP 的选项。我试着在互联网上搜索一个例子,但找不到类似的东西。我能够从 JedisStringCommands class 获得 bitOp 函数,但不确定如何使用它。
要求是对存储在REDIS中的两个键的值进行AND运算,然后将其保存到不同的键中。
寻找 Spring Redis 实现查看 Spring Docs 我没有看到任何内置的 bitop 命令。
我认为您可以使用 public <T> T execute(RedisCallback<T> action)
然后使用 Redis
本机命令。这是一个 link to that function's 文档。
我想我找到了解决办法。这不是一种优雅的方式,但我能够设法在密钥上执行位操作。这是我用过的
redisTemplate.getConnectionFactory().getConnection().bitOp(BitOperation.AND,JedisConverters.toBytes(destination), JedisConverters.toBytes(firstKey),JedisConverters.toBytes(lsecondKey));
可能对遇到上述问题的人有用。
long count=redisTemplate.execute((RedisCallback<Long>)
con->con.bitOp(RedisStringCommands.BitOperation.AND,
"20210428".getBytes(),
"20210429".getBytes(),
"20210430".getBytes()
)
);