当前位置:  开发笔记 > 编程语言 > 正文

如何在PHP中的应用程序范围中保存数据?

如何解决《如何在PHP中的应用程序范围中保存数据?》经验,为你挑选了1个好方法。

我是一名Java和C#开发人员,我承认,我在PHP方面不是那么好.

我需要将一个对象存储在应用程序范围内,只要应用程序本身正在运行,该范围就会存在.我无法将其保存在Session中,因为它过期了,我也无法将其序列化为磁盘.

Application在PHP中有类似C#对象的东西吗?



1> Theodore R. ..:

2018编辑:时间对APC 并不友好,特别是因为PHP 7包含对Zend Optimizer +的捆绑支持,这在很大程度上是相同的(密钥库除外).目前,密钥库方面已经分支到APCu项目中.

然而,在2018年,首选的密钥库是Redis.有关详细信息,请参阅ext-redis项目.


PHP具有各种应用范围.它叫做APC(Alternative PHP Cache).

如果数据符合以下条件,则应在APC中缓存数据:

    它不是特定于用户会话的(如果是,请放入$ _SESSION [])

    它不是真正的长期(如果是这样,使用文件系统)

    它只在一台PHP服务器上需要(如果没有,请考虑使用memcached)

    您希望它立即可用于您网站的每个页面,甚至是其他(非关联)PHP程序.

    您不介意存储在其中的所有数据在Apache重新加载/重新启动时丢失.

    您希望数据访问速度远远快于基于文件,memcached或(特别是)基于数据库的访问速度.

APC已安装在很多主机上,但请按照上述指南安装到您的盒子上.然后你做这样的事情:

if (apc_exists('app:app_level_data') !== false)
{
    $data = apc_fetch('app:app_level_data');
}
else
{
    $data = getFromDB('foo');
    apc_store('app:app_level_data', $data);
}

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有