什么是在缓存中存储大量数据的最佳方法?

时间:2013-05-30 07:07:47

标签: php xml caching curl

我的网站向外部服务发送curl请求并获取XML响应 请求是特定于用户的,并且响应相当繁重(并且在同一页面上有多个请求),因此加载页面并使用过多的服务器流量需要时间。

我是如何尝试解决问题的:

  • 从客户端(js)发送的请求。不幸的是,解析收到的数据并将其集成到页面的对象变得相当混乱
  • 将回复放入会话中(因为它们特定于用户)。服务器上的会话文件变得太快了。实现了一个计数器,如果它们的数量太大(现在使用它),则会删除会话中的所有响应。
  • 内存缓存?要保存的数据太多

你认为我应该使用其中一种解决方案还是有另一种方法可以做到这一点?

2 个答案:

答案 0 :(得分:0)

使用

的组合
  • 缓存
  • 数据库

你在“数据存储”中推送东西(这是缓存和数据库)。然后,如果可用,则在数据存储区中查找。如果没有查看数据库,数据存储将查找缓存(如果可用)。如果一切都失败了,请获取信息。

您还可以增加缓存的大小(但这不是一个好的解决方案)。

答案 1 :(得分:0)

试试这个

$key = "User_id_".$user_id."category_".$category_id;

然后根据此密钥存储每个数据,如

$memcache->set($key, $data, , 3600);