【发布时间】:2018-12-15 14:49:43
【问题描述】:
我在 地址 控制器中有以下代码
public function index()
{
if($this->session->userdata('isLogin')) {
$this->load->driver('cache');
$this->load->model('MemberModel');
if(!$this->cache->get('province') == false) {
$this->load->model('ShippingModel');
$data['provinces'] = $this->ShippingModel->the_provinces(); // it will return json object
$this->cache->save('province', $data['provinces'], 300);
} else {
$data['provinces'] = $this->cache->get('province');
}
$userdata = $this->MemberModel->getProfile($this->session->userdata('userid'));
$data['user'] = $userdata;
$this->display_member_area('member/address', $data);
}
else {
redirect(base_url());
}
}
当我想使用以下方式获取数据时:
var_dump($this->cache->get('province'));
我得到的结果总是显示
bool(false)
但是当我尝试这样做时
var_dump($data['provinces']) // it's show me json object, that I want
谁能告诉我我哪里做错了?
提前致谢
【问题讨论】:
-
你的 CI 版本是多少?
-
你在哪里设置了这里使用的缓存?
$this->cache->get('province')使用的缓存模块找不到缓存键时返回 false。 -
@AbdulAhmadMatin 我使用的是 3.1.5 版
-
@Charis 我在上面代码的第 9 行设置了
$this->cache->save('province', $data['provinces'], 300);。 -
您能否确保缓存驱动程序按预期工作?也许使用简单的字符串数据来保存和检索它。有一次,在我的团队看到类似的东西之前,有人试图保存一些非序列化的资源对象。
标签: php codeigniter caching memcached