Php 可接受的Memcached使用
我在Memcached上有点麻烦 我有以下代码:Php 可接受的Memcached使用,php,memcached,Php,Memcached,我在Memcached上有点麻烦 我有以下代码: if(!$Z->get('user')) { $Z->set('user', $hs->load_hs_main($_GET['from'], $_GET['table'])); } $je = $Z->get('user') ? $Z->get('user') : $hs->load_hs_main($_GET['from'], $_GET['table']); $Z->get'user'和$je
if(!$Z->get('user')) {
$Z->set('user', $hs->load_hs_main($_GET['from'], $_GET['table']));
}
$je = $Z->get('user') ? $Z->get('user') : $hs->load_hs_main($_GET['from'], $_GET['table']);
$Z->get'user'和$je应该是一个MySQLi结果对象。这会产生奇怪的效果,比如打印不起作用,而且看起来不对劲
我想检查memcached创建的对象是否存在,如果存在就使用它。。但如果不存在,则设置它。从缓存中获取项目或从其他地方创建/加载项目(如果不存在)的正确方法是:
$user = $Z->get('user'); // get it from cache, returns falsy value if not found
if(!$user) { // not found
$user = $hs->load_hs_main(...); // load the element from somewhere else
$Z->set('user', $user); // cache it
}
// here $user always exists
如果项目不存在,则从缓存中获取项目或从其他地方创建/加载项目的正确方法如下:
$user = $Z->get('user'); // get it from cache, returns falsy value if not found
if(!$user) { // not found
$user = $hs->load_hs_main(...); // load the element from somewhere else
$Z->set('user', $user); // cache it
}
// here $user always exists
通常,您不能在memcache中存储内部类的对象。这些对象包含无法序列化的数据。您必须从结果对象获取数据并将其存储在PHP数组中。然后您可以将该数组存储在memcache中。通常,您不能将内部类的对象存储在memcache中。这些对象包含无法序列化的数据。您必须从结果对象获取数据并将其存储在PHP数组中。然后可以将该数组存储在memcache中。I可以序列化mysqli结果对象。I可以序列化mysqli结果对象。