【发布时间】:2014-01-04 18:40:30
【问题描述】:
我有一个巨大的多维数组,其中包含我想保存在内存中的配置。 这些配置定义了用户可以进入网页。
最初我认为 APC 只会在特定会话期间缓存数据。但很快我就意识到我错了。
所以我想出了这个主意。
#Codeigniter 设置 session_id
$sessionId = $this->session->userdata('session_id');
#并且使用该 session_id,我可以为存储在 apc 缓存中的每个键添加前缀
$key = $session_id . '_' . 'config';
#然后我序列化数据数组
$data = serialize($configurations_array);
#LOAD APC 缓存库
$this->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file'));
#使用配置文件中的相同会话持续时间设置数据和缓存生命周期
$this->cache->save($key, $data_serialized, $this->config->item('sess_expiration'));
#从缓存中读取数据
$cached_configurations = $this->cache->get($key);
var_dump($cached_configurations);
#注销时删除数据
apc_delete($key);
对此你有什么想说的?
编辑
我忘了说我测试过它,它工作正常。
【问题讨论】:
-
您存储的数据是什么? (如果它从缓存中退出,是否可以重新创建?)
标签: php codeigniter session caching apc