Redis BITOP使用Spring数据Redis

时间:2018-01-10 15:24:33

标签: spring redis spring-data-redis

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

要求是在REDIS中的两个密钥中存储的值之间进行AND运算,并将其保存到不同的密钥中。

寻找 - https://redis.io/commands/bitop

的Spring Redis实现

3 个答案:

答案 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));对于有上述问题的人可能会有用。