当前位置: 首页 > news >正文

asp网站关键字天津网站建设报价

asp网站关键字,天津网站建设报价,仿中国化妆品网站模板,wordpress菜单跳转到目录目录 BitMap 使用场景 1. 用户签到系统 2. 用户行为标记 3. 布隆过滤器#xff08;Bloom Filter#xff09; BitMap介绍 Redis中的使用 Redis功能示例 添加#xff1a; 获取#xff1a; 批量获取#xff1a; java中实现 统计本月连续签到次数 UV统计 UV 统计…目录 BitMap 使用场景 1. 用户签到系统 2. 用户行为标记 3. 布隆过滤器Bloom Filter BitMap介绍  Redis中的使用  Redis功能示例 添加  获取 批量获取 java中实现 统计本月连续签到次数 UV统计 UV 统计的核心需求 使用 HyperLogLog UV 统计的常见场景 场景 1每日 UV 统计 场景 2月度 UV 统计 BitMap 使用场景 在开发中Bitmap 经常被用于以下场景 1. 用户签到系统 场景描述 用户每天签到一次系统需要记录用户每月的签到情况并支持快速查询连续签到天数、总签到天数等。 实现方式 使用一个 Bitmap每一位代表一天1表示签到0表示未签到。 例如用户ID为1的用户在2023年10月的签到记录可以用一个31位的 Bitmap 表示。 优点 存储空间极小一个月的签到记录只需要4字节32位。 查询效率高可以通过位运算快速计算连续签到天数、总签到天数等。 2. 用户行为标记 场景描述 系统需要标记用户是否完成了某些行为例如是否阅读了某篇文章、是否参与了某个活动等。 实现方式 使用一个 Bitmap每一位代表一个行为1表示完成0表示未完成。 例如用户ID为1的用户完成了行为A、B、D可以用 0b1101 表示。 优点 节省存储空间一个用户的所有行为标记可以用一个整数表示。 支持快速查询通过位运算可以快速判断用户是否完成了某个行为。 3. 布隆过滤器Bloom Filter 场景描述 布隆过滤器是一种概率型数据结构用于快速判断某个元素是否存在于一个集合中可能存在误判但不会漏判。 实现方式 使用一个 Bitmap 作为布隆过滤器的底层存储结构。 通过多个哈希函数将元素映射到 Bitmap 的不同位置并将这些位置标记为1。 优点 空间效率极高适合海量数据的去重和查询。 查询速度快时间复杂度为 O(1)。 BitMap介绍  如果是使用表来储存需要耗费大量的内存数据库压力山大 因此我们换一种方式来存储一个月最多有31天因此如果某一天签到了那么对应的位为1没有则为0。这种方式只需要31bit也就是8字节大大节省了空间。 Redis中的使用  Redis功能示例 添加  储存为11100111 获取 批量获取 u2中的u表示储存的为无符号2表示只截取两个比特位截取结果为11转化为十进制就是3 java中实现 public Result sign() {// 获取登录用户Long userId UserHolder.getUser().getId();// 获取日期LocalDateTime now LocalDateTime.now();// 拼接用户和日期变成keyString keySuffix now.format(DateTimeFormatter.ofPattern(:yyyyMM)); // String key sign:userIdkeySuffix;String key USER_SIGN_KEYuserIdkeySuffix;// 获取今天是本月的第几天int dayOfMonth now.getDayOfMonth();// 写入Redis setbit key offset 1stringRedisTemplate.opsForValue().setBit(key,dayOfMonth-1,true); // 注意这里需要减一因为在储存中字节是从0开始的return Result.ok();} 统计本月连续签到次数 Overridepublic Result signCount() {// 获取登录用户Long userId UserHolder.getUser().getId();// 获取日期LocalDateTime now LocalDateTime.now();// 拼接用户和日期变成keyString keySuffix now.format(DateTimeFormatter.ofPattern(:yyyyMM)); // String key sign:userIdkeySuffix;String key USER_SIGN_KEYuserIdkeySuffix;// 获取今天是本月的第几天int dayOfMonth now.getDayOfMonth();//获取本月为止的所有的签到记录返回的是一个十进制的数字 BITFIELD key GET udayOfMonth 0ListLong result stringRedisTemplate.opsForValue().bitField(key,BitFieldSubCommands.create().get(BitFieldSubCommands.BitFieldType.unsigned(dayOfMonth)) // 子命令.valueAt(0));if(result null || result.isEmpty()){return Result.ok(0);}// 为什么需要 get(0)get(0) 是从 ListLong 中获取第一个元素。// stringRedisTemplate.opsForValue().bitField(...) 返回的是一个 ListLong// 即使你只请求了一个值它也会以列表的形式返回。// 因此result.get(0) 获取的是这个列表中的第一个元素也就是你请求的签到记录的值。Long num result.get(0);if(num null || num 0){return Result.ok(0);}// 遍历循环int cnt 0;while(cnt dayOfMonth){if ((num 1) 0) {break;}cnt;// 把数字右移一位抛弃最后一个bit位继续下一个bit位num 1;}return Result.ok(cnt);} UV统计 在 Redis 中UVUnique Visitor统计 是指统计某个时间段内访问某个资源的独立用户数量。UV 统计是许多应用场景如网站访问量统计、广告点击统计等中的核心需求。Redis 提供了多种数据结构和方法来实现高效的 UV 统计。 以下是 Redis 中 UV 统计的相关知识点介绍 UV 统计的核心需求 去重同一个用户在同一时间段内的多次访问只算作一次。 高效存储需要支持海量用户的统计。 快速查询能够快速获取某个时间段内的 UV 数据。 使用 HyperLogLog 原理 HyperLogLog 是一种概率算法用于估算大量数据的基数去重后的数量。 它通过极小的存储空间每个 HyperLogLog 键只需要 12 KB来统计 UV。 命令 PFADD key user_id将用户 ID 添加到 HyperLogLog 中。 PFCOUNT key获取 UV 的估算值。 优点 存储空间极小适合海量用户的 UV 统计。 查询速度快。 缺点 结果是估算值存在一定的误差标准误差约为 0.81% UV 统计的常见场景 场景 1每日 UV 统计 需求 统计每天的独立访问用户数。 实现 使用 HyperLogLog每天创建一个新的键例如 uv:2023-10-01将当天的用户 ID 添加到键中。 每天结束时使用 PFCOUNT 获取当天的 UV 值。 场景 2月度 UV 统计 需求 统计每月的独立访问用户数。 实现 使用 HyperLogLog将整个月的用户 ID 添加到同一个键中例如 uv:2023-10。 每月结束时使用 PFCOUNT 获取当月的 UV 值。
http://www.dnsts.com.cn/news/132071.html

相关文章:

  • 电子商务网站建设 代码简洁的门户网站
  • 罗湖商城网站设计费用广州推神网络科技有限公司
  • 土特产网站平台建设摄像网站建设
  • 网站建设费用还是网络专业珠海门户网站建设价格
  • 湛江cms模板建站网站系统管理计划
  • 百度推广自己做网站吗有网站公司源码可以重建网站吗
  • 做pc端网站要成本么太原百度搜索排名优化
  • 赣州网站制作公司网络推广可做哪些方面
  • 自己做的网站可以百度推广吗如何制作小程序码
  • 模版建站重庆seo技术分享
  • 大连网站开发 简维科技微信在线使用登录
  • 手机百度收录网站吗2345软件管家
  • 二级域名建站怎样用编程语言做网站
  • 大庆市建设局网站h5网站价格方案
  • 合肥市公司网站建设苍南做网站哪里找
  • wap网站搜索品牌策略怎么写
  • 网站建设价格情况建站网站那个好
  • 怎么创建网站详细流程网站 简单
  • 新密建设局网站可以推广的软件有哪些
  • vue做的网站域名汇总公众号开发者密码怎么重置
  • 雄县网站建设评价一个网站的好坏
  • 百度做网站审核要多久wordpress 付费后查看
  • 关于动物自己做的网站苏州专业做网站公司哪家好
  • dedecms网站开发iis 配置网站 404页面
  • seo大神做的网站网站开发教学视频教程
  • 在百度里面做个网站怎么做网站开发生命周期
  • wordpress一键建站woshop商城源码
  • 百度官方网站登录自己公司网站维护
  • 怎么把网站管理系统江苏大汉建设实业集团网站
  • 达内网站开发学习培训会展平面设计主要做什么