如何使用 PHP 在内存中创建共享对象?

发布于 2024-10-15 10:05:07 字数 112 浏览 2 评论 0原文


我的网站中有一个块,显示数据库表中最新的 20 项。
现在我需要创建一个数组或对象来驻留在内存中,然后为浏览我网站的所有用户访问它? 我可以使用 PHP 来做吗?

感谢您的帮助

I have a block in my website that shows the latest 20 items in a database table.
now I need to create an array or object to reside in memory and then to access it for all users who browse my website?
Can I do it using PHP?

Thanks for your help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

深白境迁sunset 2024-10-22 10:05:07

如果您使用的是 Windows 服务器,请查看 APC 或 memcache 或 WinCache 等选项。这些都提供了缓存数据/对象的选项。

如果这是要显示数据库上的最新项目,则每次向该数据库添加内容时都需要更新它,否则它将与数据库不一致

Look at options like APC or memcache, or WinCache if you're on a Windows server. These all provide options to cache data/objects.

If this is to show the latest items on a database, you'd need to update it every time something is added to that database, otherwise it won't be consistent with the database

猛虎独行 2024-10-22 10:05:07

感谢您的贡献。
我找到了一种方法。
替代 PHP 缓存 (APC) 是一个免费且开放的 PHP 操作码缓存。它的目标是提供缓存框架。
尝试此代码并刷新页面或使用不同的浏览器打开它

<?php 
if (apc_exists('test'))
     echo apc_fetch('test');
else{
   echo "Just Created ";
   apc_store("test",time(),6666);
   echo  apc_fetch('test');
}
?>

Thanks for your contributions.
i found a way to do it.
The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. Its goal is to provide framework for caching.
try this code and refresh the page or open it using different browsers

<?php 
if (apc_exists('test'))
     echo apc_fetch('test');
else{
   echo "Just Created ";
   apc_store("test",time(),6666);
   echo  apc_fetch('test');
}
?>
梓梦 2024-10-22 10:05:07

PHP 是无状态的,因此不可能在不同会话之间轻松共享变量。
你可以通过一个技巧来做到这一点。
创建所有这些值的数组,
现在序列化数组 $sharedObj = serialize ($originalArray) ;
您可以在 $sharedObject 中获取 $originalArray 的 Serialize 变量
$sharedObject 写入文本文件,您可以读取该文本文件并反序列化该数据(从文本文件中获取),并且可以获得相同的数组。

如果您仍有问题,请告诉我。

PHP is stateless so it is not possible to easily to share the variable between the different session.
You can do this by one trick.
Create array of all these value,
Now serialize the array $sharedObj = serialize ($originalArray) ;
you can get Serialize variable of your $originalArray in $sharedObject
Write the $sharedObject into a text file and you can read the text file and unserialize that data(which you are getting from the text file) and you can get the same array.

Please let me know if you still have problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文