跨所有用户的PHP会话式存储全局

时间:2014-02-21 23:58:45

标签: php data-storage

在多个PHP脚本调用中保留一小段数据的好方法是什么,这样任何调用脚本都可以访问和修改它的值 - 无论谁调用脚本?

我的意思类似于$_SESSION变量,除了会话严格按客户端;一个客户端无法访问另一个客户端的会话。无论是谁访问它,这个都是一样的。

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

2 个答案:

答案 0 :(得分:1)

看看共享内存功能。有两个库可用于访问共享内存:

对于存储二进制数据或一个巨大的字符串,共享内存库更好,而Semahpores库提供了方便的功能来存储不同类型的多个变量(以一些开销为代价,这对于很多非常重要小型(例如布尔值)变量。

如果这太复杂了,并且/或者您不担心性能,您可以将数据存储在文件中(毕竟,PHP内部会话管理也使用文件......)

答案 1 :(得分:1)

使用数据库的一个很好的选择是memcache