Redis BITOP 使用 Spring 数据 Redis

Redis BITOP using Spring data Redis

我正在寻找使用 Spring RedisTemplate 执行 Redis BITOP 的选项。我试着在互联网上搜索一个例子,但找不到类似的东西。我能够从 JedisStringCommands class 获得 bitOp 函数,但不确定如何使用它。

要求是对存储在REDIS中的两个键的值进行AND运算,然后将其保存到不同的键中。

正在为 - https://redis.io/commands/bitop

寻找 Spring Redis 实现

查看 Spring Docs 我没有看到任何内置的 bitop 命令。

我认为您可以使用 public <T> T execute(RedisCallback<T> action) 然后使用 Redis 本机命令。这是一个 link to that function's 文档。

我想我找到了解决办法。这不是一种优雅的方式,但我能够设法在密钥上执行位操作。这是我用过的

redisTemplate.getConnectionFactory().getConnection().bitOp(B‌​itOperation.AND,Jedi‌​sConverters.toBytes(‌​destination), JedisConverters.toBytes(firstKey),JedisConverters.toBytes(ls‌​econdKey)); 

可能对遇到上述问题的人有用。

    long count=redisTemplate.execute((RedisCallback<Long>)
            con->con.bitOp(RedisStringCommands.BitOperation.AND,
                    "20210428".getBytes(),
                    "20210429".getBytes(),
                    "20210430".getBytes()
            )
    );