相关疑难解决方法(0)

PHP 全局变量在请求之间保持不变

我需要一个全局变量来跨请求保持不变

我知道类似的问题PHP Persist variable across all requests但我担心哪种解决方案性能更好,因为变量是global必须为每个请求设置的。

目前我能想到的解决方案有

1. 将值存储到数据库中。

但每个请求都会对数据库产生更多的影响。

2. 将值存储到文件中

但每个请求都会到达文件系统。在 *nix 系统上,磁盘访问被缓存,因此进一步的读取应该从 RAM 进行,因此不会影响驱动器。

3. 将值存储到 php include 文件中,并将该文件包含在 Web 应用程序的主入口点处。

该文件而不是变量的原始值将包含define

define("THE_GLOBAL", "ABC");

与 (2) 相同的问题加上由于 php 缓存处于活动状态,因此可能会发生在缓存刷新之前该值实际上并未更新的情况。

4.像redis一样使用nosql

我不喜欢为此设置redis。另外,该变量必须在 Web 应用程序重新启动或系统重新启动后保持不变。实现这一点需要额外的工作。


我认为最好的解决方案是(2)。但也许我错了。

任何有有效论据支持的指示或建议都将非常受欢迎。

php performance global-variables

6
推荐指数
1
解决办法
2万
查看次数

PHP 类似会话的存储全局覆盖所有用户

有什么好方法可以在 PHP 脚本的多次调用中保留一小段数据,以便脚本的任何调用都可以访问和修改其值 - 无论谁调用该脚本?

我的意思是与$_SESSION变量类似的东西,但会话严格是针对每个客户端的;一个客户端无法访问另一客户端的会话。无论谁访问它,这个都是一样的。

丢失值或使其损坏(例如,通过同时启动两个脚本的竞争条件)并不是一个大问题 - 如果它在 90% 的时间内正确读取,那就令人满意。OTOH,虽然我知道我可以只使用磁盘上的一个简单文件,但我仍然更喜欢基于 RAM 的解决方案,不仅仅是为了速度,而且从不太耐磨的闪存运行,无休止的写入会很糟糕。

php data-storage

5
推荐指数
1
解决办法
2825
查看次数

标签 统计

php ×2

data-storage ×1

global-variables ×1

performance ×1