哪里网站可以做微信头像百度账号注册中心
简介
Redis的Bitmap不是一个独立的数据结构类型,而是基于字符串(String)类型实现的一种功能 ,存储的是二进制的文件,布隆过滤器就是基于BitMap实现的。
语句的使用
新增操作
setbit key offset value
offset的首位从0开始。
value只能为 0或1。
返回的值为原先位置上的值。
如果继续将相同位置上的值修改为1的话,就会返回1。
查询操作
bitfield key encoding offset
encoding就是指定返回结果的编码: u num (表示为无符号并且展示num位), i num(表示为有符号并且展示num位)
其中有符号的时候,会先去判断首位是否为1,如果为1的话就表示为负数,后几位就是取反码,然后再计算二进制。
API的使用
引入redisTemplate的依赖。
<!--redis服务器启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>
新增操作
@AutowiredStringRedisTemplate redisTemplate;@Testpublic void RedisTest() {//新增操作, offset为开始的位置(从0开始),value使用 true/false 表示 1/0Boolean testbit = redisTemplate.opsForValue().setBit("testbit", 1, true);System.out.println(testbit);}
结果为下:
查询操作
@Testpublic void RedisTest1() {//查询操作//使用BitFieldSubCommands。create()进行操作//BitFieldSubCommands.BitFieldType.unsigned(3) 设置为无符号, 取 3位//valueAt(0) 从0开始List<Long> testbit = redisTemplate.opsForValue().bitField("testbit",BitFieldSubCommands.create().get(BitFieldSubCommands.BitFieldType.unsigned(3)).valueAt(0));System.out.println(testbit.get(0));}
结果为下: