php redis访问量,redis实现点击量浏览量
业务描述
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实现点击量浏览量相关推荐
- 名编辑电子杂志大师教程 | 阅读量浏览量统计
用名编辑制作电子杂志时,我们可以在电子杂志里嵌入一个"google分析ID"或者直接嵌入一些统计平台的代码来追踪阅读量,得到最有效的数据分析反馈. 注意:这里需要你自己有一个网站, ...
- python刷今日头条访问量_Python 自动刷博客浏览量实例代码
怎么利用python爬取csdn博客访问量例子 如何使用python来爬取自己博客访问量承认吧,小编们都是在深夜里崩溃的俗人.晚安,世界. 博客网站上有访问量这个记录么 如果有就可以抓取网站下来,正则 ...
- 【web】仿微博浏览量自增(判断元素是否在可视区+停留2s事件响应)
浏览量自增 需求分析 微博.空间动态中经常能看到浏览量统计,不同于博客,点击之后浏览量自动加1,这种碎片化的推送信息,浏览次数不能以常规的点击方式来统计,用户可能甚至根本不会点击内容,匆匆一瞥就把滚动 ...
- springboot整合redis实现HyperLogLog统计文章浏览量使用过期策略完成数据库同步
springboot整合redis实现HyperLogLog统计文章浏览量&&使用过期策略完成数据库同步 本文目录 springboot整合redis实现HyperLogLog统计文章 ...
- Redis(三) -- redis简介、各数据类型应用
1. 与memcached的区别: Redis和Memcache都是将数据存放在内存中,都是内存数据库.不过memcache还可用于缓存其他东西,例如图片.视频等等: Redis不仅仅支持简单的k/v ...
- config.php开启redis,微擎如何开启redis,redis开启方法详解
资源来源网络,如果需要授权,请大家更换源码,模块仅供学习,如需商用请购买正版授权,本栏目不提供技术服务,积分不够请签到,或者会员中心投稿源码 一.使用5G云宝塔定制版的很多问微信怎么开启redis. ...
- 微擎mysql和redis_微擎如何开启redis,redis开启方法详解
小程序.公众号越来越普及了.当访问量过高的时候.就会造成卡顿.调取数据库过慢. 今天我们就来一篇关于微擎数据库优化相关的文章 开启环境的 redis 扩展 1.点击 左侧导航条-软件管理. 2.选择对 ...
- Redis之Redis基础、环境搭建、主从切换
Redis基础.环境搭建.主从切换 一.Redis简介 1.引入NoSQL的背景 2.Redis简介 二.环境部署 1.server1源码安装redis,并创建redis实例 2.server2主机, ...
- 【数据库Redis】Redis五种基本数据结构以及三种配置方式——默认配置、运行配置、配置文件启动
文章目录 一.初识Redis 1.1 了解Redis 1.2 Redis特性 1.3 Redis使用场景 Redis不适合场景 1.4 用好Redis的建议 1.5 正确安装并启动Redis 在Lin ...
最新文章
- xx.xib: error: Illegal Configuration: Safe Area Layout Guide before iOS 9.0报错问题解决
- c#/.net 循序渐进理解-委托
- 聊聊架构设计做些什么来谈如何成为架构师
- python操作mysql_使用Python操作MySQL的一些基本方法
- HDU 6325 Problem G. Interstellar Travel(凸包)
- java tcp聊天程序_java实现基于Tcp的socket聊天程序
- mysql优化之 EXPLAIN(一)
- 在线看Android系统源码,相见恨晚的几种方案
- Spyder使用教程
- 使用STVP 下载STM32程序之后,弹出 Problem while trying to Run core of device. 的解决办法
- 减轻使用者的从众心理压力 知名社群网站将隐藏赞数
- MySQL-锁表和解锁
- 互联网晚报 | 10月29日 星期五 | 理想汽车第10万辆整车正式下线;微博新增“炸毁评论”功能;《长津湖》续集正式官宣...
- VB编程:UCase转大写,LCase转小写-4_彭世瑜_新浪博客
- getopt Python
- JS 如何清除页面缓存
- HDU 6304 Chiaki Sequence Revisited(找规律)
- matlab函数im2bw_答复同学Matlab roipoly函数的用法
- 转载:大牛给计算机专业学生的 7 个建议
- 教你一招APP如何快速定制马甲包