redis运维(十二)

一  位图

①  概念

1、说明:位图还是在'操作字符串'

2、位图玩字符串'在内存中'存储的二进制

3、ASCII字符通过'映射'转化为二进制

4、操作的是'字符串value'

redis运维(十二)_第1张图片

②  ASCII字符铺垫

1、'控制'ASCII字符

redis运维(十二)_第2张图片

2、ASCII'可显示'字符

redis运维(十二)_第3张图片

③  SETBIT

细节: setbit 命令的'返回值'是'之前'该'二进制位'

redis运维(十二)_第4张图片

1、替换后'字符不存在'

redis运维(十二)_第5张图片

2、一个'有意义'的例子

redis运维(十二)_第6张图片

3、要设置的位'不存在'

说明: key存在,但是'位'不存在

redis运维(十二)_第7张图片

4、 key '不存在'

redis运维(十二)_第8张图片

5、'小结'

chrome开启ftp:chrome://flags/#enable-ftp --> 'enabled'

怎么从edge/chrome/firefox浏览器'打开FTP链接'

备注:位图操作最怕交给一个'很大'的值

redis运维(十二)_第9张图片

④  GETBIT

redis '字符串'是一个'字节序列'

redis运维(十二)_第10张图片

redis运维(十二)_第11张图片

⑤  BITCOUNT

redis运维(十二)_第12张图片

1、注意:是'字节'索引,'不是位'索引

2、默认情况下,给定的整个字符串都会被进行计数

  [1]、通过指定'额外'的 start 和 end 参,,可以让计数只在'特定的位上'进行

  [2]、start 和 end 参数的设置,都可以使用'负数'值

    比如: '-1' 表示'最后一个位',而 -2 表示倒数第二个位

  [3]、start、end 是指bit组的字节的'下标'数,二者'皆包含'

细节:start和end '荣辱与共',要么都使用,要么都不使用

redis运维(十二)_第13张图片

⑥  应用场景

redis运维(十二)_第14张图片

 位图实现签到         SpringBoot+Redis BitMap 实现签到与统计功能

1、'统计'策略

redis运维(十二)_第15张图片

2、'性能测试'

redis运维(十二)_第16张图片

⑦  Python中使用位图

redis运维(十二)_第17张图片

浅谈Redis位图(Bitmap)及Redis二进制中的问题 

你可能感兴趣的:(redis,bit,setbit,getbit,位图)