bitmap两个应用场景:

setbit命令:

offset:是二进制位的偏移量,而不是字节数组。一个字节有8个二进制位

将k1的第一个(索引为0)二进制位设置为1:

在ASCII码表中,01000000刚好就是@:

将k1的第八个(索引为7)二进制位设置为1:01000001对应的就是A

使用man ascii来验证:

将第十个二进制位(索引为9)的值设置为1:得到的结果将是A@,就是将两个字节按照ASCII表分别转换为字符后拼接起来

setbit k2 1 1

setbit k2 6 1

得到'B'

将k1和k2进行与运算:与运算,遇0则0,全为1则为1

将k1和k2进行或运算:或运算,遇1则1,全为0则为0

bitmap的应用场景一:

统计用户的登录天数,且窗口随机。

460M能存储1000万用户全年365天的登录明细:365/8=46B(字节)

(01,02,03,04为日期;sean,json为用户id)

比如:用户sean第2天登录过,第8天,第365天登录过:

统计一个用户一年内的登录天数顶多需要46字节:

计算用户sean最后两周的登录天数:(最后一周是-1,倒数第二周是-2),结果是1次

bitcount 统计的是1的个数  bitcount test 0 -1 就是所有的  bitcount 0 0 那么就应该是第一个字节中1的数量的

正反向索引:

统计活跃用户数:以登录日期为key;重复登录要去重;进行or或运算(有1则1);

Redis bitmap使用场景示例相关推荐

  1. Redis BitMap适应场景

    https://blog.csdn.net/paul_wei2008/article/details/53366588 Bitmap以及Redis Bitmaps快速入门(Crash Course o ...

  2. Redis(十)——HyperLogLog 基数统计和 Bitmap位图场景详解

    文章目录 Redis(十)--HyperLogLog 基数统计和 Bitmap位图场景详解 1.HyperLogLog 基数统计 2.Bitmap位图场景详解 Redis(十)--HyperLogLo ...

  3. java基础巩固-宇宙第一AiYWM:为了维持生计,Redis基础Part6(Redis的应用场景、Redis是单线程的速度还快、Redis线程模型:Reactor模式、事件、发布订阅、管道)~整起

    PART1-1:为什么Redis是单线程的 Redis单线程是指: Redis的网络IO和键值对读写是由一个线程来完成的.这也是 Redis 对外提供键值存储服务的主要流程.Redis的其他功能,比如 ...

  4. 大容量类 Redis 存储的场景补充-pika

    2019独角兽企业重金招聘Python工程师标准>>> 导读 我们在<大容量类 Redis 存储 - 有关 pika 的一切>里介绍过pika的诞生.pika的特点.pi ...

  5. PHP中使用redis执行lua脚本示例

    一.引言 redis学了一段时间了,基本的东西都没问题了.从今天开始讲写一些redis和lua脚本的相关的东西,lua这个脚本是一个好东西,可以运行在任何平台上,也可以嵌入到大多数语言当中,来扩展其功 ...

  6. python使用redis在实际场景使用_用python操作redis及redis的一些应用场景

    redis安装 网上很多windows.Linux的安装教程,可根据自己的需要寻找对应教程安装 redis-py安装 pip install redis redis可视化工具 API的使用 redis ...

  7. Redis 的应用场景

    之前讲过Redis的介绍,及使用Redis带来的优势,这章整理了一下Redis的应用场景,也是非常重要的,学不学得好,能正常落地是关键. 下面一一来分析下Redis的应用场景都有哪些. 1.缓存 缓存 ...

  8. redis的使用场景和基本数据类型

    一:redis使用的场景 redis是一个高性能的NoSQL数据库,特点是高性能,持久存储,适应高并发的应用场景. 下面看看它的使用场景 1.取最新N个数据的操作 比如取网站的最新文章,通过下面方式, ...

  9. Redis的应用场景汇总

    Redis应用场景 Redis作为一个非关系型数据库,除了在访问速度上拥有显著优势外,其本身支持的多种数据类型也非常有用,能覆盖系统开发中的很多应用场景.下面列举的场景有的是从网上其他人的博客里看到的 ...

最新文章

  1. 技巧:结合Zabbix与SNMP监控嵌入式设备
  2. Python 学习散记
  3. Apache OpenWebBeans 发布适用于 Java EE 微服务的 Meecrowave 服务器 1.0
  4. WDS 自动化部署安装 win2008 服务器实验
  5. 华为OJ平台——放苹果(典型整数划分问题)
  6. mybatis简介-什么是Mybatis
  7. 高手经验:一个新手的verilog学习经验
  8. 阿里云服务器安装onlyoffice_阿里云服务器安装 JDK 8
  9. c 登录窗口 oracle,C语言实现图形界面登陆窗口
  10. 浦发招聘笔试计算机部分考啥,2019浦发银行校园招聘考试题型及题量分布
  11. Protel.DXP2004 电路板设计
  12. 重新安装OFFICE2010失败
  13. HoudahGeo 6 for Mac(地理位置信息软件)
  14. .net的过去、现在和未来
  15. dell客服(dell客服维修中心)
  16. java3d立方体_java3d 立方体 加载纹理
  17. Linux基础之 getopts
  18. Python识别验证码----谷歌reCapture 4*4验证码
  19. 【Java】2022年团体程序设计天梯赛 L1 和 L2-042 题解
  20. 超大型Oracle数据库设计实例

热门文章

  1. 【机器学习基础】太棒了!这里有385篇自然语言处理和机器学习领域的综述总结...
  2. 特征工程与特征选择架构性好文
  3. 原文翻译:深度学习测试题(L1 W3 测试题)
  4. 聚焦场景落地, 看“云+AI”如何激发5G的“隐藏技能”
  5. 即时通讯音视频开发(三):视频编解码之编码基础
  6. 当前安卓App加固到底该如何做到防篡改?
  7. MySQL不能插入中文字符及中文字符乱码问题
  8. 【noi 2.6_9284】盒子与小球之二(DP)
  9. 用c#开发微信 系列汇总
  10. 有关项目实施【老男孩】的经验分享