【思路】-浏览次数

系统浏览次数

都见过这个东西,实现思路

用户访问某篇文章,将这个ViewCount加上1然后更新到数据库中去

都知道这个功能,访问量大的时候会挂掉数据库,所以上面那种实时更新数据库的方式都被淘汰了

实现思路:浏览次数缓存在系统的静态变量中,然后通过系统的定时器,每隔多长时间更新一次数据库,来解决上一种思路频繁的访问数据库带来的访问压力

所以是静态变量+定时器 这两个技术来解决上面这个问题

实现过程:使用字典类型的数据结构 int int 保存ID和Viewcount的数据

两个方法GetView和SetView 频繁的对这个数据结构做修改【因为是静态的,所以不会有什么阻塞,反正在内存中,你该怎么玩儿就怎么玩儿】

到时间之后,定时器会访问这个数据结构,执行一次事务方式的更新

注意点:记得更新成功之后,你需要重新对字典类型做一次加载,保证浏览次数和数据库的保持一致

难点来了:

如果页面做了静态的html缓存,看看上面这个功能还能用么?

这个时候访客访问的是你的html缓存内容,根本就不会执行你的后台 ViewCout++这个代码,你还能用么?

不行了,哈哈怎么办?听火星人说好像ajax这个东西可以呢,哈哈谁知道呢?骚年去试试吧。火星人给你提供了思路哦!!!

像我这种每天手敲文章的人还有多少,其实也挺快乐的,把自己的思想分享给大家,天天写其实会上瘾的哦

那我得到了多少好处呢?锻炼了自己的思维和写作能力,难道我通过这个赚取了百万的收益也会告诉你吗?哈哈说漏了

来自为知笔记(Wiz)

时间: 2024-11-05 04:30:02

【思路】-浏览次数的相关文章

WordPress主题开发:设置和获取浏览次数

将以下代码放在functions.php,一个是获取阅读量,一个是设置阅读量 <?php /** * getPostViews()函数 * 功能:获取阅读数量 * 在需要显示浏览次数的位置,调用此函数 * @Param object|int $postID 文章的id * @Return string $count 文章阅读数量 */ function getPostViews( $postID ) { $count_key = 'post_views_count'; $count = get_

SQL请求优化——浏览次数统计,SQL写操作稀释

引言 前几天做了这么一个东西:一个游戏中有个活动页面,活动页面有个商品,商品下面要显示该商品实浏览次数,就相当于是用户每出发一次请求这个浏览总次数都会添加一次,这个问题很简单,每次浏览的时候去数据库中进行“+1”操作即可.但是做完之后想想,由于这个浏览总次数实时性要求不是那么高,我就可以对sql请求进行稀释.减少“+1”的请求次数,这样可以减少与数据库交互时“写操作”所浪费的资源. 实现 这种特殊环境下的sql请求是这样的,每次要执行浏览次数“+1”操作时,我们产生一个1~N的随机数R,如果R%

ECshop 怎样修改商品详细页的“浏览次数”

怎样修改商品详细页的“浏览次数” 最好可以修改为成倍增加的,比如客户浏览了一次,显示的是20次. 修改 goods.php  文件的下面这行代码即可 $db->query('UPDATE ' . $ecs->table('goods') . " SET click_count = click_count + 1 WHERE goods_id = '$_REQUEST[id]'"); 将 1 修改成你想增加的数字 即可

php 记录图片浏览次数次数

<?php $url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; $lab =$_GET['lab']; $fp = fopen('ipdata.txt','ar+'); $i = 1; if(filesize('ipdata.txt') > 0) { $t = array(); $content = fread($fp,filesize('ipdata.txt')); $

网页文章浏览次数

文章浏览次数,顾名思义就是点击一次,或者刷新页面,次数就加1,. 首先要做的就是在表中加一个字段用来表示浏览次数,本文中的字段是views. 这是主方法: /// <summary> /// 修改浏览次数 /// </summary> /// <param name="id"></param> public static void UpdateViews( int id) { string strSql = string .Format(

dedecms设置文档默认浏览次数为0

织梦dedecms文档默认浏览次数是随机数,每次发布新文档时会自动生成一个50-200之间的随机数字,这样虽然可以让文档在前台显示起来比较“好看”些,但是相信部分用户还是喜欢从0开始计算的真实浏览次数,织梦也提供了修改默认浏览次数的设置. 操作步骤: 1.进入网站后台,在“系统——系统基本参数——其它选项”中找到“文档默认点击数(-1表示随机50-200):”: 2.把输入框里的值修改为0: 3.然后点击确认保存设置,之后发布的文档默认浏览次数就是0了. 原文地址:https://www.cnb

dedecms浏览次数统计需要的设置

如果想显示点击次数,请增加view参数,即把下面JS调用放到文档模板适当位置<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" language="javascript"></script>普通计数器为<script src="{

PHPCMS V9 按浏览次数排行调用文章

频道总排行调用方法 <div class="box">     <h5 class="title-2">频道总排行</h5>     {pc:get sql="select a.id,a.title,a.url,a.catid,b.hitsid,b.views from v9_news a left join v9_hits b on a.id=substring(b.hitsid,5) where a.catid in

每条新闻的浏览次数统计,该如何实现呢?

http://bbs.csdn.net/topics/391814418?page=1 1.第一次启动的时候肯定是把所有文章加载到缓存里的,每次点击动态更新的是缓存中的值,用定时任务最后更新到数据库中,我们是这么做的 2.PV有多少?大部分的情况用Redis之类的缓存就能够满足你的需求吧如果Redis都顶不住了,再考虑消息队列缓冲一下...如果还顶不住,你确定这个是你能解决的?让你们老板请几个NB的SA帮忙架构架构 3.定时任务应该也行,先把数据存在context里面. 4.用免费的第三方统计平