企业品牌网站建设的关键事项住建部网站统计城乡建设统计信息系统登录
web/
2025/10/3 19:15:12/
文章来源:
企业品牌网站建设的关键事项,住建部网站统计城乡建设统计信息系统登录,河源市东源县建设局网站,网站 申请背景
相信签到系统大家都有接触过#xff0c;更多的是使用。但是有思考过这种系统是怎么设计的吗#xff1f;比方说我统计一下每个月中每天的签到情况#xff0c;怎么设计呢#xff1f;今天一篇文章告诉你。
首先#xff0c;我们熟悉的思维是#xff1a;我设计一个数据…背景
相信签到系统大家都有接触过更多的是使用。但是有思考过这种系统是怎么设计的吗比方说我统计一下每个月中每天的签到情况怎么设计呢今天一篇文章告诉你。
首先我们熟悉的思维是我设计一个数据表实现签到的统计。
这样设计确实是可以的但是我们仅仅作为统计的话这样的设计就显得有点冗余了那还有更简单的方式吗今天就来介绍一下redis的bitmap实现这一需求。 bitmap
Redis 的 Bitmap 是一种位图数据结构用于存储和处理位级别的数据。它使用 Redis 字符串数据类型来表示一个由二进制位组成的数组其中每个位可以是 0 或1。它的存储结构可以用下边的这个表格展示
000000101001001010101001010110
Redis Bitmap 的一些常见操作
SETBIT key offset value将指定位置的位设置为给定的值0 或 1。 示例SETBIT mybitmap 0 1GETBIT key offset返回指定位置的位的值。 示例GETBIT mybitmap 0BITCOUNT key [start end]计算指定范围内的位为 1 的数量。 示例BITCOUNT mybitmap 0 -1BITOP operation destkey key [key ...]对一个或多个位图执行逻辑运算AND、OR、XOR、NOT并将结果保存到目标位图中。 示例BITOP AND destbitmap bitmap1 bitmap2
Redis 的 Bitmap 可以进行高效的位操作所以一些常见的设计场景都可用到。如
在统计系统中可以使用位图记录用户的活跃状态活跃/不活跃在推荐系统中可以使用位图记录用户的喜好标签喜欢/不喜欢在排重场景中可以使用位图记录已经出现过的元素
Redis 的 Bitmap 提供了一种简单而高效的方式来操作位级别的数据并且占用的存储空间非常小。这使得它成为处理大规模位信息的理想选择。
所以明显的第三种场景是非常适合的。今天的设计也选取了第三种场景。
测试
我们先在redis-cli中测试一下。 我操作的是第0天我到了第2、5天没有到所以总共到了1天。
对应的代码设计其实和在命令行中的操作差不多这里就不再展示了。相信以后会遇到这样的需求的shigen也会同步的更新。 以上就是今天的分享内容啦感谢伙伴们的阅读。
与shigen一起每天不一样
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86375.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!