【问题标题】:Redis BITOP using Spring data RedisRedis BITOP 使用 Spring 数据 Redis
【发布时间】:2018-01-10 15:24:32
【问题描述】:

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

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

寻找 Spring Redis 实现 - https://redis.io/commands/bitop

【问题讨论】:

    标签: spring redis spring-data-redis


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:
          long count=redisTemplate.execute((RedisCallback<Long>)
                  con->con.bitOp(RedisStringCommands.BitOperation.AND,
                          "20210428".getBytes(),
                          "20210429".getBytes(),
                          "20210430".getBytes()
                  )
          );
      

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 2020-01-21
          • 1970-01-01
          • 2021-09-13
          • 2021-01-01
          • 2022-08-03
          • 2022-06-20
          • 2012-06-24
          • 2019-07-07
          • 2018-06-15
          相关资源
          最近更新 更多