BitSet b = new BitSet();
if (jedis.get("login:2022-01-11".getBytes()) != null) {
b = fromByteArrayReverse(jedis.get("login:2022-01-11".getBytes()));
}
/**
* 解决redis 的 bitmap 转换成 Java 的 bitset 采用 BitSet.valueOf 方法获取出来的结果跟存储进去的不一样的问题
*
* @param bytes
* @return
*/
public static BitSet fromByteArrayReverse(final byte[] bytes) {
final BitSet bits = new BitSet();
for (int i = 0; i < bytes.length * 8; i++) {
if ((bytes[i / 8] & (1 << (7 - (i % 8)))) != 0) {
bits.set(i);
}
}
return bits;
}