【问题标题】:Store PHP variables in memory between script executions在脚本执行之间将 PHP 变量存储在内存中
【发布时间】:2012-06-07 18:45:57
【问题描述】:

如何在脚本执行之间甚至不同会话之间将变量保存在服务器的 RAM 中?

我需要安装某种扩展程序,还是以某种方式内置在 PHP 中?

【问题讨论】:

标签: php


【解决方案1】:

您可以使用 apc_store() 和 apc_add() 在数据存储中缓存变量,然后使用 apc_fetch() 获取它们的值。但我认为会话变量$_SESSION 将是一个不错的选择,如果您的变量仅与一个客户端相关。如果变量是 GLOBAL 并且在许多客户端之间使用,那么使用 数据库引擎 也是一种选择。

【讨论】:

  • 欢迎来到 Stack Overflow。 APC 在other answer 中被引用。 $_SESSION 不适用(或者如果确实适用,您需要详细说明如何),因为问题是“and even between different sessions”。
【解决方案2】:

有几个选项:

Memcache http://memcached.org/ 扩展。它是基于 RAM 的存储引擎。

APC APC - PHP manual apc 代码缓存允许存储变量。

如果您不想要任何扩展,您可以将数据存储到文件中(序列化或 xml 格式),这将是持久数据。比内存存储慢。

如果你想存储一般数据,那么有“一百二”数据库引擎。 例如MySQLSQLite 或 NOSQL MongoDB 等等......

【讨论】:

  • 数据库不会像文件系统一样慢吗?我过去使用过文件,但因速度不足而烦恼
  • DB 会更快,因为 db'a 内部针对效率进行了优化,使用缓存和快速算法进行数据搜索。而且它是更可靠的数据存储方式。
  • 如果你有一个服务器,你应该使用 APC,如果你使用集群,你应该使用 Memcached。那是因为 Memcached 比 APC 慢一点,但 分布式
猜你喜欢
  • 2011-10-04
  • 1970-01-01
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 2014-03-24
  • 2015-08-06
  • 2012-03-02
  • 1970-01-01
相关资源
最近更新 更多