Home >Backend Development >PHP Tutorial >文件缓存和memcache内存缓存,小弟我该选那个

文件缓存和memcache内存缓存,小弟我该选那个

WBOY
WBOYOriginal
2016-06-13 10:13:55872browse

文件缓存和memcache内存缓存,我该选那个?
因为公司需要,要我统计每个用户在网页上的点击状况,进了那些链接。公司网站访问量大概是100多万ip 800w pv 。

在最开始使用了memcache来缓存用户的点击,当点击次数达到一定数量的时候,才写入数据库。 但是由于并发的原因,造成了多php进程同时写入数据库的问题,数据很多重复。

现在我和同事有两种方案,第一种他的是,在memcache中建立多个数组,存放缓存数据,单个数组不能大于1M。然后用独立的一个php进程来做计划任务,定时取memcache中的数组,来执行入库。

第二种我的,就是使用文件缓存,在memcache中点击次数满上限,就把数据存入文件中,清空memcache。然后同样用一个独立的进程来执行入库操作。

我们该选哪种呢?

------解决方案--------------------
既然要入库,又何必用文件缓存呢?
在memcache中点击次数满上限,就把数据执行入库操作,清空memcache
------解决方案--------------------
memcache达到上限的时候,不要急着入库,应该重新创建一个 memcache 缓存。

可以这样来理解:

一共有两个 memcache 缓存,一个正在工作,另一个在后面等着。当前面的那个工作到一定限度了,那就扯下来,另一个上。

典型的换班。。

不知道这样能否解决你的问题

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn