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

做外贸生意的网站王野天师

做外贸生意的网站,王野天师,淄博刚刚发布紧急通知,朔州做网站公司场景#xff1a;统计每个活动的用户访问量#xff0c;且每个用户仅统计一次。 首先活动表是已经存在了的#xff0c;一般情况下#xff0c;我们都会在创建一个用户访问表#xff0c;其中唯一主键是用户ID活动ID作为唯一主键 create table user_visist_activity_record(i…场景统计每个活动的用户访问量且每个用户仅统计一次。 首先活动表是已经存在了的一般情况下我们都会在创建一个用户访问表其中唯一主键是用户ID活动ID作为唯一主键 create table user_visist_activity_record(id int(11) NOT NULL AUTO_INCREMENT,user_id int(11) NOT NULL COMMENT 用户ID,activity_id int(11) NOT NULL COMMENT 活动ID,create_id bigint(20) NULL DEFAULT NULL COMMENT 创建人,update_id bigint(20) NULL DEFAULT NULL COMMENT 修改人,create_time timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,update_time timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 修改时间,deleted_ind tinyint(1) NOT NULL DEFAULT 0 COMMENT 是否删除0未删除1删除,PRIMARY KEY (id) USING BTREE, unique index user_activity(user_id,activity_id) ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 活动访问记录表 ROW_FORMAT Dynamic;创建了用户活动的访问记录表用户访问当期活动时都会查询一次表格内容来判断用户是否访问过该用户如果已存在了则不走后续逻辑。 在深入思考一下是否有更高效的方式呢毕竟每次都需要查询数据库一次而且这种活动访问的用户也不少。业务也需要统计多少用户访问了当前页面功能是无法砍掉。为了保证这个活动不影响主数据库可能会将当前功能拆分出去且数据库也非主数据库。那如果没有拆分服务的情况下又该如何解决呢 Redis BitMap 此时是否有想到通过redis的方式来解决毕竟查询redis比查询mysql快多了。 简单介绍一下BitMap BitMap就是位图其实也就是字节数组byte array用二进制表示只有 0 和 1 两个数字位图就是用每一个二进制位来存放或者标记某个元素对应的值。通常是用来判断某个数据存不存在的因为是用bit为单位来存储所以Bitmap本身会极大的节省储存空间。 如下图字符串在计算机里是由二进制的形式保存的。 在redis中有一个bitMap的数据结构因为每一个bit都是一条记录只需要把key值设置成活动ID而bit为设置用户访问的次数1代表访问过0则表示没有访问过。那么就不需要创建表格来统计当前用户是否访问过。甚至也不需要对活动表的用户访问数进行更新。这样的操作至少省略了两次数据库的操作。一次是判断用户对当前记录是否访问过一次是对活动表的用户访问数进行更新。 业务逻辑 string key pre activityId; if(redis.has(key)) {// 第一次访问时没有key的记录// 判断当前活动是否存在活动是否过期等业务操作//redis.setBit(key, userId, 1);redis.expire(key, expireTime); } else {if(redis.getBit(key, userId)) {return}redis.setBit(key, userId, 1); }redis bitmap三个操作 添加 SETBIT命令 SETBIT key offset value (offset为偏移量value设置的值在上述中将offset设置为用户IDvalue直接设置为1) 查询GETBIT命令 GEIBIT KEY OFFSET (offset为偏移量offset为用户ID 统计BITCOUNT命令 BITCOUNT key 统计整个key上为1的个数
http://www.w-s-a.com/news/982421/

相关文章:

  • 品牌网站制作流程图用asp做网站题目
  • 兰州市建设厅网站河南网站建设问一问公司
  • 高档网站建设前端网站大全
  • 深圳电力建设公司网站互联网网站有哪些
  • 淅川网站建设如何在百度上做自己的网站
  • 网站制作 南通有学给宝宝做衣服的网站吗
  • 做西式快餐店网站网络营销的含义是什么
  • 网络销售代理加盟南京seo排名扣费
  • 赤峰中国建设招标网站网站开发投标文件
  • 域名抢住网站婚庆网页设计
  • 公司网站建设的通知南宁怎么做网站
  • 搜狐快站建站教程电子商务网站后台模板
  • .gs域名做网站怎么样做网站有没有用
  • 肇庆住房和城乡建设局网站广州seo公司排名
  • j2ee网站开发买什么书网络媒体有哪些
  • 江西省住房建设部官方网站用多说的网站
  • 云课堂哪个网站做的好网站 集约化平台建设方案的通知
  • 撰写网站栏目规划怎么建自己的平台
  • 中国建设银行巴黎分行网站建设银行忘记密码网站首页
  • 网站左侧树形导航怎么做像wordpress一样的网站吗
  • 做网站用的书公司做网站 需要解决哪些问题
  • 电器网站建设策划书深圳动画制作
  • cpa网站建设wordpress支付宝微信收费吗
  • 权威网站排名桂林生活网论坛
  • 网站设计息济南网站建设济南
  • 安蓉建设总公司网站网站怎么做才能被百度收录
  • 电子商务网站业务流程分析做效果图的外包网站
  • wordpress仿站视频教程wordpress用什么php版本好
  • 郑州做网站九零后网络沧州做网站的专业公司
  • 小游戏网站建设可以自己做图片的软件