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

自己给公司做网站该怎么做佛山软件开发培训

自己给公司做网站该怎么做,佛山软件开发培训,网站主题服务,长沙第三方网站建设公司最近项目里需要集成签到和统计功能#xff0c;连续签到后会给用户发放一些优惠券和奖品#xff0c;以此来吸引用户持续在该品台进行活跃。下面我们一些来聊一聊目前主流的实现方案。 因为签到和统计的功能涉及的数据量比较大#xff0c;所以在如此大的数据下利用传统的关系…最近项目里需要集成签到和统计功能连续签到后会给用户发放一些优惠券和奖品以此来吸引用户持续在该品台进行活跃。下面我们一些来聊一聊目前主流的实现方案。 因为签到和统计的功能涉及的数据量比较大所以在如此大的数据下利用传统的关系型数据库进行计算和统计是非常耗费性能的所以目前市面上主要依赖于高性能缓存RedisBitMap功能来实现。 先看看利用Mysql实现以上功能会有哪些缺陷和短板。 1.使用Mysql实现签到功能 首先我们需要一个签到表 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oyI6Br1I-1693143208246)(1.png)] DROP TABLE IF EXISTS tb_sign; CREATE TABLE tb_sign (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,user_id int(11) NOT NULL COMMENT 用户Id,year year(4) NOT NULL COMMENT 签到的年,month tinyint(2) NOT NULL COMMENT 签到的月,date date NOT NULL COMMENT 签到日期,is_backup tinyint(1) NOT NULL COMMENT 是否补签,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci;用户一次签到就是一条记录假如有1000万用户平均每人每年签到次数为10次则这张表一年的数据量为 1亿条 每签到一次需要使用8 8 1 1 3 1共22 字节的内存一个月则最多需要600多字节 这样的坏处占用内存太大了极大的消耗内存空间 我们可以根据 Redis中 提供的 BitMap 位图功能来实现每次签到与未签到用0 或1 来标识 一次存31个数字只用了2字节 这样我们就用极小的空间实现了签到功能 2.Redis BitMap 2.1 BitMap 的操作指令 SETBIT向指定位置offset存入一个0或1GETBIT获取指定位置offset的bit值BITCOUNT统计BitMap中值为1的bit位的数量BITFIELD操作查询、修改、自增BitMap中bit数组中的指定位置offset的值BITFIELD_RO获取BitMap中bit数组并以十进制形式返回BITOP将多个BitMap的结果做位运算与 、或、异或BITPOS查找bit数组中指定范围内第一个0或1出现的位置 2.2 使用 BitMap 完成功能实现 利用SETBIT新增key 进行存储 SETBIT bm1 0 1看不懂上面的指令没关系我们可以通过help指令查看提示 help SETBIT[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28566Xts-1693143208248)(2.png)] 通过这个指令可以看出Redis SETBIT 命令用于对 key 所储存的字符串值设置或清除指定偏移量上的位(bit)。位的设置或清除取决于 value可以是 0 或者是 1 。 当 key 不存在时自动生成一个新的字符串值。字符串会进行伸展以确保它可以将 value 保存在指定的偏移量上。当字符串值进行伸展时空白位置以 0 填充。offset 参数必须大于或等于 0 小于 2^32 (bit 被限制在 512 MB 之内)。 提示如果 offset 偏移量的值较大计算机进行内存分配时可能会造成 Redis 服务器被阻塞。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QVfbhrcc-1693143208249)(3.png)] 这样的话我们就可以通过偏移量设置每一天的签到情况 偏移量表示天val值表示是否签到 已签到设置为1未签到设置0 下面我们只需要通过GETBIT命令就可以查看每一天的签到情况 GETBIT bm1 2表示查看bm1用户第二天的签到情况 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rZN6uEyA-1693143208250)(4.png)] 同样我们可以通过BITCOUNT可以统计出该用户签到了多少天 BITCOUNT bm1 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fdEvzcNG-1693143208251)(5.png)] 通过BITFIELD以原子方式操作查询、修改、自增BitMap中bit数组中的指定位置offset的值 明天继续更新
http://www.yutouwan.com/news/115416/

相关文章:

  • 网站建设新手教程视频教程互动营销案例分析
  • 个人视频网站注册平台网站如何设置微信支付功能
  • 建设一个电商网站wordpress菜单和页面的关系
  • 营销型网站能解决什么问题网站报名照片怎么做
  • 免费源码交易网站源码企业网站ui
  • 油画网站模板微信群营销工具
  • 专业做公司宣传网站做网站没装数据库
  • 浙江省城乡建设厅网站首页网站404做多大
  • 门户网站建设如何入账郑州短视频培训机构
  • seo提升排名技巧东莞百度搜索排名优化
  • 网站设计动画discuz应用中心退款
  • 河南网站备案系统短信北京企业模板建站
  • 中国万网官方网站广州最新新闻
  • 米粒网站建设与推广专家网站 建设 申请
  • 土巴兔装修贵吗落实20条优化措施
  • 汤唯梁朝伟做视频网站家具网站开发设计论文
  • 微信网站怎么建设济南学网站建设哪里好
  • 企业网站建设请示南通网站推广公司哪家好
  • 网站建设环保广告设计有哪些
  • 卡盟网站怎么做图片大全怎么自己做音乐网站
  • 东莞网站seo公司哪家大东莞专业网站推广工具
  • 如何做网站内链合肥公司网站开发
  • 做竞价的网站可以做优化吗学校网站建设调查报告
  • 做网站关于我们php网站开发实例视频教程
  • 只做男生穿搭的网站网页界面
  • 做电影网站心得整合营销公司排名
  • 网站模板建站教程深圳采纳品牌营销策划公司
  • 泰安网站建设哪里有福建省港航建设发展有限公司网站
  • wordpress 类似 免费seo的作用
  • 凡科网站建设好企业建设营销网站的目的