• 技术文章 >后端开发 >php教程

    php如何解决高并发下的全局累计计数问题?

    2016-06-06 20:17:08原创943

    有这样一个需求,有一个高并发的网站,网站想拦截来自浏览器的请求,记录每个请求的某些信息并写入文件(不是写入数据库,如果写入数据库的话直接通过ID递增就可以实现了,事实上并不是),对于每个请求都要有一个编号。编号从0000~9999循环,因为网站载流量大的情况下会出现高并发的问题,我应该采取什么方式来记录这个编号?

    想过这些方案

    所以在这里想请教一下大家,对于高并发网站的全局数字累计记录,大家有什么更好的方案?

    回复内容:

    有这样一个需求,有一个高并发的网站,网站想拦截来自浏览器的请求,记录每个请求的某些信息并写入文件(不是写入数据库,如果写入数据库的话直接通过ID递增就可以实现了,事实上并不是),对于每个请求都要有一个编号。编号从0000~9999循环,因为网站载流量大的情况下会出现高并发的问题,我应该采取什么方式来记录这个编号?

    想过这些方案

    所以在这里想请教一下大家,对于高并发网站的全局数字累计记录,大家有什么更好的方案?

    1. 内存性数据库,诸如redis,memcache也行,是最好的选择也是最快的首选的选择,不清楚楼主遇到了什么技术问题

    2. 毫无疑问,纯php解决不了这个问题的,引入swoole扩展吧,使用swoole的atomic类,可以是实现多进程原子无锁累加计数

    3. 自己开发...

    每个请求都要有一个编号。

    编号从0000~9999循环 必须么,不必须的话,建议用 uuid

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 高并发 计数
    上一篇:奇怪问题 php-fpm 下使用 fwrite 写入 /tmp 目录失败 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 聊聊PHP escapeshellarg函数使用的中文问题• PHP原生类的总结分享• 分享PHP函数使用小工具(附代码示例)• PHP安全编码总结(经验分享)• 非常全面!PHP常见漏洞代码总结!
    1/1

    PHP中文网