zoukankan      html  css  js  c++  java
  • 【Redis】特殊数据类型

    bitmap数据结构,是基于二进制位来进行操作记录的,只有0 和 1两个状态。
    可以想象成一个数组,里面只有0或者1。

    能干嘛呢?

    现实中会有这些场景,比如统计用户信息,活跃用户和非活跃用户、登录的、未登录的用户,打卡的、未打卡的,像这种只有2个状态,并且数据量非常大的,就适合使用bitmap。

    网上找了一个对比,可以帮助记忆下bitmap的优点。

    一、setbit

    设置或者清空key的value(字符串)在offset处的bit值。

    那个位置的bit要么被设置,要么被清空,这个由value(只能是0或者1)来决定。当key不存在的时候,就创建一个新的字符串value。

    比如现在我设置一个用户的7天的打卡信息,1是打卡,0是未打卡。

    setbit sign 0 1
    setbit sign 1 1
    setbit sign 3 1
    setbit sign 4 0
    setbit sign 5 1
    setbit sign 6 0
    setbit sign 2 1
    

    二、getbit

    对 key 所储存的字符串值,获取指定偏移量上的位(bit)。

    getbit sign 4
    

    三、bitcount

    统计字符串被设置为1的bit数。

    不存在的 key 被当成是空字符串来处理,因此对一个不存在的 key 进行 BITCOUNT 操作,结果为 0 。

    bitcount sign
    

    --不要用肉体的勤奋,去掩盖思考的懒惰--
  • 相关阅读:
    坚持博客
    虚拟机CentOS7.2 1611 Minimal最小化安装后桥接固定ip
    Js 希望某链接只能点击一次
    ThinkPHP3.2 杂记
    Mysql 杂记
    Linux挂载Win共享文件夹 一
    Linux 监测系统资源
    Phpstrom 书签应用
    php默认有最大执行时间
    tp3.2中配置链接多个数据库
  • 原文地址:https://www.cnblogs.com/pingguo-softwaretesting/p/14906038.html
Copyright © 2011-2022 走看看