第七章:Redis 位图bitmap&基数统计HyperLogLog

简介: 1. 什么是位图redis可以直接对数据进行位操作。获取hello二进制的第0位.png2. 实例setbit key offset value #给位图指定索引设置值上面我们给hello赋值为world,那么我们现在把它的二进制第0位改成1,再进行get hellosetbit .

1. 什么是位图

redis可以直接对数据进行位操作。


img_b6f51efddd717c3945bc3553936cbccc.png
获取hello二进制的第0位.png

2. 实例

  1. setbit key offset value #给位图指定索引设置值
    上面我们给hello赋值为world,那么我们现在把它的二进制第0位改成1,再进行get hello


    img_0bb957337001e7b0effbf3a3fa27cf14.png
    setbit .png
  2. getbit key offset #获取第offset位的二进制
  3. bitcount key [start end] #获取位图指定范围中(start 到end)1的个数
  4. bitop op destkey key [key...] #做多个Bitmap的and(交集)、or(并集)、not(非)、xor(异或)操作并将结果保存在destkey中
  5. bitpos key targetBit [start] [end] #计算位图指定范围(start)到(end)的位置

1. 什么是Hyperloglog

极小空间完成独立数量统计。本质是个string。千万级别的存储只会消耗极少的内存(几Mb),但是错误率比较高(0.81%)

2. 三个命令

  • pfadd key element [element... ] # 向hyperloglog添加元素
  • pfcount key [key...] #计算hyperloglog 的独立总数
  • pfmerge destkey sourcekey [sourcekey...] #合并多个hyperloglog

3. 实例

img_856f6861f60454e164549dbb4676e7cd.png
image.png
相关文章
|
存储 NoSQL Java
Redis助力高并发网站:在线用户统计不再是难题!
小米带你了解如何使用Redis高效统计网站的在线与并发用户数。通过维护用户的活跃时间,利用Redis有序集合(Sorted Set)特性,可实时更新在线用户列表并统计数量。具体实现包括记录用户上线时间、定期清理离线用户及统计特定时间窗口内的活跃用户数。这种方法适用于高并发场景,保证统计结果的实时性和准确性。跟着小米一起探索Redis的强大功能吧!
397 2
|
11月前
|
NoSQL Linux Redis
每天百万访问也不怕,Redis帮你搞定UV统计
本文介绍了使用Redis实现高性能UV统计系统的方法。Redis凭借其内存数据库特性,支持毫秒级响应和自动去重,非常适合高并发场景下的访客统计。核心思路是利用Redis的Set数据结构作为"每日签到墙",通过记录用户访问ID实现自动去重,并设置24小时过期时间。文章提供了Python代码示例,展示如何记录用户访问和获取当日UV统计数据,还可扩展实现多页面UV统计。相比传统数据库方案,Redis方案更加轻量高效,是中小型网站实现流量统计的理想选择。
753 0
|
NoSQL Java API
springboot项目Redis统计在线用户
通过本文的介绍,您可以在Spring Boot项目中使用Redis实现在线用户统计。通过合理配置Redis和实现用户登录、注销及统计逻辑,您可以高效地管理在线用户。希望本文的详细解释和代码示例能帮助您在实际项目中成功应用这一技术。
606 4
|
存储 NoSQL PHP
如何用Redis高效实现点赞功能?用Set?还是Bitmap?
在众多软件应用中,点赞功能几乎成为标配。本文从实际需求出发,探讨如何利用 Redis 的 `Set` 和 `Bitmap` 数据结构设计高效点赞系统,分析其优缺点,并提供 PHP 实现示例。通过对比两种方案,帮助开发者选择最适合的存储方式。
599 3
|
NoSQL 算法 关系型数据库
Redis HyperLogLog
10月更文挑战第17天
154 2
|
消息中间件 分布式计算 NoSQL
大数据-41 Redis 类型集合(2) bitmap位操作 geohash空间计算 stream持久化消息队列 Z阶曲线 Base32编码
大数据-41 Redis 类型集合(2) bitmap位操作 geohash空间计算 stream持久化消息队列 Z阶曲线 Base32编码
240 2
|
存储 监控 NoSQL
redis数据结构-HyperLogLog
redis数据结构-HyperLogLog
349 1
|
NoSQL Java Redis
Redis字符串数据类型之INCR命令,通常用于统计网站访问量,文章访问量,实现分布式锁
这篇文章详细解释了Redis的INCR命令,它用于将键的值增加1,通常用于统计网站访问量、文章访问量,以及实现分布式锁,同时提供了Java代码示例和分布式锁的实现思路。
886 0
|
12月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
7月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
784 25