业务场景 : 小说站中为了存储一个用户(uid)哪本书(bid)哪个章节(cid)消费记录用redis的hash存储。
比如:mykey uid+bid+cid 1
由于太浪费存储空间所以改为bitmap形式存储
bitmap: SETBIT key offset value 用bit位存储元素的对应状态,offset连续性强才能节省空间哦。
redis-cli -h 127.0.0.1 -p 6379 -a dyd2017happy!@1314 keys 'mykey' |
while read key
do
var=`redis-cli -h 127.0.0.1 -p 6379 -a dyd2017happy!@1314 get ${key}`
echo "var==="${var}
echo "var==="${var:0:4}
uid=${var:0:4}
bid=${var:4:5}
cid=${var:9}
redis-cli -h 127.0.0.1 -p 6379 -a dyd2017happy!@1314 SETBIT ${uid}":"${bid} ${cid} 1
echo ${uid}":"${bid} ${cid} "ok"
done