Допустим у меня cache
записывается в файл:
if (Auth::check()) {
Cache::store('file')->put('userIsOnline-' . Auth::user()->id, 'true', now()->addMinutes(1));
}
В самом файле кеша я вижу такую запись:
1553595759s:4:"true";
Так вот, суть моего не понимания:
1) 1553595759s
- Время истечения кеша, но после того как истекает время его существования, я обращаюсь по ключу к нему, то мне всё равно выдаётся это значение. Т.е. Мне нужно самому сравнивать время и из этого делать вывод истёк кеш или нет?
2) 4
- что это такое? Во всех файлах кеша это число есть....
3) "true"
- где хранится ключ (userIsOnline-{id}
)? Почему в кеше только значение?
p.s. Laravel 5.7
Весь функционал файлового хранилища кеша Laravel находится здесь: https://github.com/laravel/framework/blob/5.7/src/Illuminate/Cache/FileStore.php
Если вы сохраняете в кеше какое-то значение со сроком хранения 1 минута, то после истечения 1 минуты попытка получить это значение из кеша
Cache::store('file')->get('userIsOnline-' . Auth::user()->id);
Должна закончиться получением null
. Самому никаких дополнительных действий производить не нужно. Если вы все же получаете какое-то значение, то, скорее всего, у вас все-таки где-то перед вызовом get(...)
вызывается put(...)
с интервалом меньше, чем 1 минута.
Ключ в файловом кеше нигде не хранится, при сохранении в кеш ключ сразу хешируется sha1
и разбивается на несколько частей, из которых складывается путь к файлу, в который будут записаны данные. Подробнее смотрите метод path().
В сам файл данные записываются в таком виде:
1553595759s:4:"true";
Где 1553595759
(10 цифр) - Timestamp окончания времени хранения, а s:4:"true";
- сериализованные данные, хранящиеся в кеше (в вашем случае - результат serialize('true');
).
Это результат работы функции serialize()
4 - это количество символов в строке "true"
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Задача такая: посетитель заполняет форму (имя и телефон) и данные отправляются методом post после чего его перенаправляет на другую страницу,...
имеется серверВозникает проблема, иногда клиент отправляет несколько сообщений подряд и сервер не успевает их поймать, как можно исправить?...
Не понимаю , как написать код на c/c++ для определения количества ФИЗИЧЕСКИХ процессоров (не ядер)Может можно как-то интерпретировать команды...