- 主题:Re: 谁能帮我看看网页访问计数器的php代码有什么问题吗?
对于 php 开发人员,mysql 反正都是要学的。
各种网站空间都会直接提供 mysql 数据库,但 redis 一般不提供。
【 在 adamhj (淘气阿丹) 的大作中提到: 】
: mysql不比redis复杂多了..
--
修改:hgoldfish FROM 124.72.118.*
FROM 124.72.118.*
求链接
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 现在阿里正在卖的,一年只要 69 块钱,或者买轻量服务器一年也只要 99. 这点钱一下没问题的吧。
: 天翼云就更拼了,只要 50 块钱一年。
--
FROM 202.109.128.*
直接上他们的官网啊。双12特卖。天翼云还是新老用户同享。
【 在 adamhj (淘气阿丹) 的大作中提到: 】
: 求链接
--
FROM 124.72.118.*
首先,这个代码是错的,应该在读之前就加锁,否则并发访问时计数不对
另外,要不要while取决于你的需求和场景
并发很高的时,while会导致整个过程串行化,必然影响页面访问
不用while呢就会丢失统计
【 在 RythmOfWind (RythmOfWind) 的大作中提到: 】
: 搜到了一个现成的代码:
: /页面访问计数器
: function pageVisitCount() {
: ...................
--
FROM 124.126.1.*
因为这 50 块钱可以让你避免走弯路。全世界的 phper 都学了 mysql,就你不学,你不可能比大家都聪明吧。
【 在 RythmOfWind (RythmOfWind) 的大作中提到: 】
: 有免费的为什么要花钱呢,50块钱可以吃好几顿饭呢
--
FROM 124.72.118.*
没法解决。就一个文件,想不写乱只能串行写
并发高就上数据库或redis
【 在 RythmOfWind (RythmOfWind) 的大作中提到: 】
: 嗯,应该读前加锁的问题我也发现了。while串行化的问题怎么解决?另开线程吗
--
FROM 124.126.1.*
加了锁就是串行的,多线程是为了啥?
【 在 RythmOfWind (RythmOfWind) 的大作中提到: 】
: 多线程不行吗?会有什么问题
--
FROM 124.126.1.*
别想什么多线程,也别想用变量来计数定时写入,php不是常驻进程,页面运行结束就会释放掉,其实用文件加锁就行,你这点访问量没什么问题
【 在 RythmOfWind 的大作中提到: 】
: 我有了一个新的想法,应该用一个变量来存储访问数,然后每隔100毫秒将这变量写入文件,这样高并发时就避免了频繁读取文件的操作。
: 修改文件的时间肯定是比修改变量的时间长很多,减少修改文件的操作次数就能极大的减少高并发时冲突的发生。
: 就是要注意一开始程序运行时要先从文件读取访问数。变量初始化时赋值-1,用于判断程序是不是刚开始运行。
: ...................
--来自微水木3.5.11
--
FROM 183.228.14.*
或者用另一个思路,访问的时候把一个用于标记的字符串输出到log,然后统计log里面的标记数就行啊
--
FROM 223.223.185.*
那最好上workman,hyperf,swool这些框架。。
【 在 RythmOfWind 的大作中提到: 】
: 那要用到常驻进程的话应该用什么?
:
--
FROM 183.69.209.*