php - 使用 PHP 缓存

标签 php caching

这个问题之前可能有人问过,但我还不能决定我应该使用什么。我正在构建一个小型 API 包装器,并且有一些方法可以对我通过该方法获得的数据进行一些缓存。

数据为JSON格式。因此,当我浏览时,我找到了一些存储这些数据的解决方案。其中之一是 APC,它看起来非常简洁,更像是在客户端使用 localStorage。但后来我发现这是一个没有预装 PHP 的扩展,并且对于最新版本的 PHP 存在一些错误(开发人员认为它不稳定)。我也很难将它添加到 XAMPP,因此我可以在本地测试它。

所以我将其排除在外并考虑了其他选项,例如在服务器上创建文件。这似乎也是一个不错的主意,直到我发现当我创建一个文件夹时,chmod0755 这不是很方便。我起初以为这是我做的,但后来我在这里读到一篇关于安全模式的帖子,它不允许我使用 0777 模式创建文件夹。所以我一直在寻找解决方案,我发现使用 FTP 可以解决它。我尝试了 FTP 的东西,它工作得很好,只是我很难实现一种方法让连接保持打开状态直到它超时并且每次调用连接到 FTP 的方法时都不会覆盖连接并创建文件夹。

如果我没记错的话,我听说过的另一个解决方案是 Memcache,但这似乎是一种开销。

所以我有点怀疑应该使用什么来缓存数据。如果有人有一些指示,将不胜感激:)

最佳答案

无论您做什么,都不要编写自己的缓存解决方案。能够做到这一点的人不需要在 SO 上提问。

  • 安装 APC。它将解决的问题远远多于它所造成的问题。
  • 使用 Memcache 和/或 Redis 缓存对象 - session 、分数等。
  • 使用 Varnish 在网络服务器前端缓存 HTML。

我曾使用 APC、Redis、Memcache 和 Varnish 的组合处理每秒超过 10,000 个请求的应用程序。他们非常非常好。

关于php - 使用 PHP 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14724325/

相关文章:

php - mysql - codeigniter 中的重复条目错误

php - 我应该在用户输入错误时抛出异常吗?

entity-framework - 在 Azure AppFabric 中缓存 Entity Framework 结果

android - 如何缓存已解析的 JSON 以供离线使用

php - 如何让 jQuery 从 mysql_fetch_array 获取 PHP 参数?

php - 我还能做些什么来优化这个 MySQL 查询吗?

php - 为什么不插入数据库?

android - 从 Glide 库中的缓存中删除图像

java - JBoss EAP 7.0standalone.xml 中设置的 Infinispan 缓存设置未反射(reflect)在应用程序中

mysql - 为什么 Sequelize 在 3120 条记录后暂停?