У меня есть огромный многомерный массив с конфигурациями, которые я хочу сохранить в памяти. Эти конфигурации определяют, могут ли пользователи войти на веб-страницу.Правильно ли использовать кеш APC для хранения информации, связанной с определенным сеансом?
Первоначально i tought APC будет кэшировать данные только в течение определенного сеанса. Но быстро я понимаю, что я ошибся.
Итак, я придумал эту идею.
#Codeigniter множеств а session_id
$sessionId = $this->session->userdata('session_id');
# и с этой session_id я могу PREfix каждый ключ, хранящийся с кэшем APc
$key = $session_id . '_' . 'config';
#then я сериализовать массив данных
$data = serialize($configurations_array);
#load APC КЭШ БИБЛИОТЕКА
$this->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file'));
#set ДАННЫХ И кэша, используя тот же длительность сеанса ОТ CONFIG FILE
$this->cache->save($key, $data_serialized, $this->config->item('sess_expiration'));
ДАННЫЕ # Чтение из кэша
$cached_configurations = $this->cache->get($key);
var_dump($cached_configurations);
#remove ДАННЫЕ О LOGOUT
apc_delete($key);
Что вы можете сказать об этом?
EDIT
Я забыл упомянуть, что я проверил его и он работает отлично.
Каковы данные, которые вы храните? (Можно ли его воссоздать, если он выпадет из кеша?) – duskwuff