liv*_*een 40 php mysql caching
嗯,这就是事情.假设我未来的PHP CMS需要每天驱动500k访问者,我需要将它们全部记录在MySQL数据库中(引用者,IP地址,时间等).这样我需要每分钟插入300-500行并更新50行.主要问题是每次我想插入新行时脚本都会调用数据库,这是每次有人点击一个页面时.
我的问题是,有没有办法首先在本地缓存传入的命中(对于那个apc,csv ......最好的解决方案是什么?)并定期每隔10分钟将它们发送到数据库?这是一个很好的解决方案吗?这种情况的最佳做法是什么?
OZ_*_*OZ_ 22
每天500k,每秒只有5-7个查询.如果每个请求将在0.2秒内提供,那么您将同时拥有几乎0个查询,因此无需担心.
即使你的用户数量增加了5倍 - 一切都应该可以正常工作.
您可以使用INSERT DELAYED并调整您的mysql.
关于调优:http://www.day32.com/MySQL/ - 有非常有用的脚本(不会改变任何内容,只是向您展示如何优化设置的提示).
您可以使用内存缓存或APC写日志有第一,但使用的延迟插入MySQL会做几乎同样的工作,并会做的更好:)
不要使用文件.DB将比PHP更好地提供锁.编写有效的互斥锁并不是那么简单,所以让DB(或memcache,APC)完成这项工作.
Wes*_*orp 18
经常使用的解决方案:
您可以在memcached中实现一个计数器,您可以在访问时增加该计数器,并将每次100(或1000)次点击的更新推送到数据库.
| 归档时间: |
|
| 查看次数: |
3899 次 |
| 最近记录: |