• 位图介绍以及基本用法


    位图

    1.bitmap介绍

    位图不是真正的数据类型,它是定义在字符串类型中,一个字符串类型的值最多能存储512M字节的内容

    那么一个字符串的位上限就是:512M=2^32bit

    2.位图的一些命令

    • setbit

      设置某一位上的值

      语法:SETBIT key offset value (offset位偏移量,从0开始)

    • getbit

      获取某一位上的值

      语法:GETBIT key offset

      获取到的值是ASCLL表中对应的值

    • bitpos

      返回指定值0或1在指定区间上首次出现的下标

      语法:BITPOS key bit [start] [end](字节索引,0表示第一个字节

      image-20220816213411649

    • bitop

      语法:BITOP operation destkey key [key ...]

      对一个或多个保存二进制位的字符串 key 进行位操作,并将结果保存到 destkey 上。operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种

      BITOP AND destkey key [key ...] ,对一个或多个 key 求逻与,并将结果保存到 destkey

      BITOP OR destkey key [key ...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey

      BITOP XOR destkey key [key ...] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey

      BITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey

      除了 NOT 操作之外,其他操作都可以接受一个或多个 key 作为输入,当 BITOP 处理不同长度的字符串时,较短的那个字符串所缺少的部分会被看作 0,空的 key 也被看作是包含 0 的字符串序列

      image-20220816214519034

    • bitcount

      统计指定区间上值为1的个数

      语法:BITCOUNT key [start] [end] start end 字节的索引 正方向

      从左向右从0开始,注意官方start、end是位,测试后是字节

      BITCOUNT key [start] [end] start end 字节的索引 负方向

      从右向左从-1开始,注意官方start、end是位,测试后是字节

    image-20220816215511197

  • 相关阅读:
    Python基础set集合定义与函数
    java中如何使用字段对对象数组进行排序
    天润融通:AI助手助力Klarna实现多语言客户服务革新
    【MySQL基础】一条查询和更新语句的执行流程01-02
    Istio实践(3)- 路由控制及多应用部署(netcore&springboot)
    【Node.js】Express
    HikariCP源码阅读笔记
    年终固定资产盘点如何快速准确?
    JavaSE---栈和队列
    线性回归实战---Abalone鲍鱼年龄预测
  • 原文地址:https://www.cnblogs.com/bfy0221/p/16593165.html