哪条路线更好?
我应该将对象存储在会话中并将其从一个页面传递到另一个页面,还是应该在每次用户迁移到我的Web应用程序中的另一个页面时查询数据库?
如果我应该将对象存储在会话中,我该怎么做?我已尝试使用序列化和反序列化,但它对我不起作用...
感谢您的帮助!
编辑:这是我的一些代码
Page 1:
include "user.php";
session_start();
$user = new user();
$user->$username = "Jason";
$_SESSION["user"] = $user;
header("Location: profile.php");
Page 2:
include "user.php";
session_start();
$user = new user();
$user = $_SESSION["user"];
echo $user->$username;
没有结果。
答案 0 :(得分:8)
仅将数据存储在特定于用户的会话中。不要将会话用作缓存。糟糕的事情将来自那里(比如因数据重复而占用大量的磁盘空间)。
如果它是特定于用户的,那么只有当它相当小且经常需要它时我才会将它存储在会话中(我不会在会话中存储大于10kb的任何内容)。如果你不经常需要它,那就不要存储它。
如果不是特定于用户,则使用缓存层。您可以使用原始APC / Memcached,也可以使用抽象层,例如Cache_Lite或Zend_Cache ......
答案 1 :(得分:1)