Redis 位存储与验证

Jedis jedis = JedisConnectUtil.getJedisDB(Constants.JedisDBMY);//创建redis连接对象

String [] authNum = auth.split(",");//解析位字符串

//逐位存储
//                for(int a = 0;a<authNum.length;a++){
//                    jedis.setbit("mgrAuth:"+appId+":"+userName, Long.valueOf(authNum[a]), true);
//                }

//编辑后一次存储全部(默认64位,可以继续set自动扩充)
                BitSet bits=new BitSet();
                for(int a = 0;a<authNum.length;a++){
                    bits.set(Integer.valueOf(authNum[a]));
                }
                jedis.set(("key").getBytes(),bits.toByteArray());
        }

验证指定位:Boolean flag = jedis.getbit("key:".getBits(),Long.valueOf(authNum));
                status = 0;
                msg = "验证成功";

              true /false

验证整个位的大小:

           BitSet bits=BitSet.valueOf(jedis.get(("key").getBytes()));//操作权限
          
            BitSet bits1=BitSet.valueOf(jedis.get(("key1").getBytes()));//权限1


            //验证权限1的合法性(即权限1小于操作权限)
            bits1.or(bits);//(或之后结果赋给前者)
            if(bits1.equals(bits)){
                system.out.println("验证成功")
            }


             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值