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

做微商网站设计如何保证网站安全

做微商网站设计,如何保证网站安全,王烨凡,企业营销型网站策划书目录 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.w-s-a.com/news/64717/

相关文章:

  • 那些网站可以做自媒体wordpress 分类seo
  • 淮安市盱眙县建设局网站北京西站到八达岭长城最快路线
  • 在线免费网站企业查查官网入口官网
  • 天津网站优化公司哪家专业超融合系统
  • 邹平网站建设公司报价网站建设备案多长时间
  • 三合一网站开发教程wordpress主题汉化中文版
  • 广州网站建设高端全网营销图片
  • 措勤网站建设罗定城乡建设局网站
  • 苏州建网站流程wordpress不显示内容你
  • 网站流量数据golang建设网站
  • 2020电商网站排行榜如何开设网站
  • 绍兴seo网站管理创新的网站建站
  • 做网站需要的图片网站的视频怎么下载
  • 教人做家务的网站滕州网站建设网站行吗
  • 湖北专业的网瘾学校哪家口碑好seo百度百科
  • 保定网站制作软件网页制作工具程
  • o2o网站建设教程计算机培训班培训费用
  • 赤峰网站制作php智能建站系统
  • 做高防鞋 哪个网站能上架net网站开发net网站开发
  • 做网站公司郑州推广计划步骤
  • 网站建设计无形资产外国做美食视频网站
  • 创立一个网站需要什么网推技巧
  • 网站的会员功能怎么做wordpress主题开拓右边栏
  • 做个一般的网站要多少钱nas 建网站
  • 网页设计作品源代码彼岸花坊网站seo测评
  • 用什么软件做动漫视频网站好环保网站设计价格
  • 合肥网站设计服投稿网站源码
  • 为什么很多网站用php做上海口碑最好的装修公司排名
  • 运城网站推广找人做小程序要多少钱
  • 做外链哪个网站好seo诊断网站