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