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

如何在内存中保留数据结构以供多个用户使用,PHP中有多个页面请求

如何解决《如何在内存中保留数据结构以供多个用户使用,PHP中有多个页面请求》经验,为你挑选了1个好方法。

我是PHP的新手,我没有运气谷歌搜索针对这种情况的最佳实践.

我有一个创建成本高昂的数据结构,适用于网站的所有用户,对于网站的所有用户都是相同的,并且一旦创建就永远不会更改.(好的 - 每当我上传新版本的源代码文件时都需要更改.)它并不是特别大.理想情况下,我想创建它一次 - 我第一次需要它 - 然后保留它,为每个用户,每个页面请求使用相同的实例.那么每当我点击"清除缓存数据"(我正在使用Drupal)时它会变得"无效"将会很好.

我还没有找到如何执行此操作的教程...我知道如何在会话中存储信息,但这仅适用于一个用户.

UPDATE

在数据结构内部有匿名函数(闭包).我读过这些有时会出现序列化问题.



1> James C..:

听起来你正在寻找的是某种缓存对象.

您可以在PHP中使用许多不同的缓存方法:

在文件系统上的文件中

使用APC哪个是内存本地缓存

memcached 这是通过TCP/IP访问的内存缓存

对于其中的每一个,您可能希望序列化您的数据结构(使用PHP serialize()),将其保存到缓存存储区,然后将其读回并反序列化数据(with unserialize()).

我可能会APC通过安装它,你很容易受益于它的操作码缓存,这是它可以执行的另一个功能.


虽然这一切都是正确的,但他正在使用Drupal,因此他只需使用`cache_get()`/`cache_set()`API函数.这是一个可插入的缓存系统,它将使用它配置使用的任何后端(数据库,文件, apc,memcached,..)
推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有