业务描述

CMS文章浏览量(标题被加载量),点击量统计(文章被点击开的量)

以下是本人设计的统计业务,主要技术redis,nodejs,redis应用点击量缓存以减少数据库压力,nodejs通过异步非阻塞机制实现CMS业务逻辑和统计功能区分

传入参数cateid(分类id),articleid(文章id),sourceip(请求源ip)

一、存储策略

1、按时间粒度记录

redis以hash进行存储

HASH

KEY VALUE

time his

0 0

1 10

cateid_arvicleid_t . .

. .

. .

23 230

2、按来源统计

redis同样以hash进行存储,来源区分到省份

HASH

KEY VALUE

provinc his

HEBEI 0

HENAN 10

cateid_arvicleid_p . .

. .

. .

SHANDONG 230

二、数据同步机制

现在只想到通过linux计划任务定时将redis数据同步到数据库

三、缓存数据过期机制

方案一 通过redis自动过期时间

此方案需要在数据同步机制晚一些执行,保证数据入库后,清理过期缓存,现在考虑同步在每日0时执行,那么redis缓存就需要设置24小时多一点

方案二 通过数据库同步机制同时清除

此方案即把同步和清理缓存做在一起,弃用redis过期机制

小弟希望各位大神给指出不妥和优化的地方

在10000在线用户,1000并发的基础上上述redis的存储机制对内存压力是否可行

同步机制和缓存过期机制是否有更好的解决的方案

在此拜谢

回复讨论(解决方案)

KEY 最好设置成 2014_10_30. cateid_arvicleid_t形式

选择方案二 通过数据库同步机制同时清除 在每天凌晨的2~4点进行同步 因为脚本1.同步脚本可能失败 2.数据量大的时候昨天的0时数据会被今天的0时覆盖

号称1秒10W请求的redis 不惧1000的并发

KEY 最好设置成 2014_10_30. cateid_arvicleid_t形式

选择方案二 通过数据库同步机制同时清除 在每天凌晨的2~4点进行同步 因为脚本1.同步脚本可能失败 2.数据量大的时候昨天的0时数据会被今天的0时覆盖

号称1秒10W请求的redis 不惧1000的并发

非常感谢

确实由于同步机制和缓存过期的存在,要对key值再做日期的区分以防覆盖

在你的分析下,确实方案二更可行

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php redis访问量,redis实现点击量浏览量相关推荐

  1. 名编辑电子杂志大师教程 | 阅读量浏览量统计

    用名编辑制作电子杂志时,我们可以在电子杂志里嵌入一个"google分析ID"或者直接嵌入一些统计平台的代码来追踪阅读量,得到最有效的数据分析反馈. 注意:这里需要你自己有一个网站, ...

  2. python刷今日头条访问量_Python 自动刷博客浏览量实例代码

    怎么利用python爬取csdn博客访问量例子 如何使用python来爬取自己博客访问量承认吧,小编们都是在深夜里崩溃的俗人.晚安,世界. 博客网站上有访问量这个记录么 如果有就可以抓取网站下来,正则 ...

  3. 【web】仿微博浏览量自增(判断元素是否在可视区+停留2s事件响应)

    浏览量自增 需求分析 微博.空间动态中经常能看到浏览量统计,不同于博客,点击之后浏览量自动加1,这种碎片化的推送信息,浏览次数不能以常规的点击方式来统计,用户可能甚至根本不会点击内容,匆匆一瞥就把滚动 ...

  4. springboot整合redis实现HyperLogLog统计文章浏览量使用过期策略完成数据库同步

    springboot整合redis实现HyperLogLog统计文章浏览量&&使用过期策略完成数据库同步 本文目录 springboot整合redis实现HyperLogLog统计文章 ...

  5. Redis(三) -- redis简介、各数据类型应用

    1. 与memcached的区别: Redis和Memcache都是将数据存放在内存中,都是内存数据库.不过memcache还可用于缓存其他东西,例如图片.视频等等: Redis不仅仅支持简单的k/v ...

  6. config.php开启redis,微擎如何开启redis,redis开启方法详解

    资源来源网络,如果需要授权,请大家更换源码,模块仅供学习,如需商用请购买正版授权,本栏目不提供技术服务,积分不够请签到,或者会员中心投稿源码 一.使用5G云宝塔定制版的很多问微信怎么开启redis. ...

  7. 微擎mysql和redis_微擎如何开启redis,redis开启方法详解

    小程序.公众号越来越普及了.当访问量过高的时候.就会造成卡顿.调取数据库过慢. 今天我们就来一篇关于微擎数据库优化相关的文章 开启环境的 redis 扩展 1.点击 左侧导航条-软件管理. 2.选择对 ...

  8. Redis之Redis基础、环境搭建、主从切换

    Redis基础.环境搭建.主从切换 一.Redis简介 1.引入NoSQL的背景 2.Redis简介 二.环境部署 1.server1源码安装redis,并创建redis实例 2.server2主机, ...

  9. 【数据库Redis】Redis五种基本数据结构以及三种配置方式——默认配置、运行配置、配置文件启动

    文章目录 一.初识Redis 1.1 了解Redis 1.2 Redis特性 1.3 Redis使用场景 Redis不适合场景 1.4 用好Redis的建议 1.5 正确安装并启动Redis 在Lin ...

最新文章

  1. xx.xib: error: Illegal Configuration: Safe Area Layout Guide before iOS 9.0报错问题解决
  2. c#/.net 循序渐进理解-委托
  3. 聊聊架构设计做些什么来谈如何成为架构师
  4. python操作mysql_使用Python操作MySQL的一些基本方法
  5. HDU 6325 Problem G. Interstellar Travel(凸包)
  6. java tcp聊天程序_java实现基于Tcp的socket聊天程序
  7. mysql优化之 EXPLAIN(一)
  8. 在线看Android系统源码,相见恨晚的几种方案
  9. Spyder使用教程
  10. 使用STVP 下载STM32程序之后,弹出 Problem while trying to Run core of device. 的解决办法
  11. 减轻使用者的从众心理压力 知名社群网站将隐藏赞数
  12. MySQL-锁表和解锁
  13. 互联网晚报 | 10月29日 星期五 | 理想汽车第10万辆整车正式下线;微博新增“炸毁评论”功能;《长津湖》续集正式官宣...
  14. VB编程:UCase转大写,LCase转小写-4_彭世瑜_新浪博客
  15. getopt Python
  16. JS 如何清除页面缓存
  17. HDU 6304 Chiaki Sequence Revisited(找规律)
  18. matlab函数im2bw_答复同学Matlab roipoly函数的用法
  19. 转载:大牛给计算机专业学生的 7 个建议
  20. 教你一招APP如何快速定制马甲包

热门文章

  1. 新媒体运营:如何策划出一场完整高效的活动方案?(一) | 黎想
  2. idea配置翻译插件(google翻译插件)
  3. w ndows10输入法设置,unity3d屏蔽Windows10输入法
  4. 小计 合计 总计 共计 怎么解释?
  5. 论文经验 - 计算机视觉(CV)方向
  6. opencv中的人脸检测案例
  7. 编写java百分制转化五分制_百分制与五分制的换算(百分制转换五分制公式)
  8. BSOJ 2923:藤原妹红 MST+树型DP
  9. Oracle增删改查
  10. 游戏音乐制作中需要使用那些软件?