В моем обычном приложении чата Laravel с опросом я буду сохранять новые сообщения, отправленные пользователем, в файловый кеш с ключом в виде строки, получая его значение из функции date(current_time)
и тела сообщения.
Затем, когда я захочу получить эти сообщения, я буду использовать последнее значение опроса $lastPolled = Session::get('lastPolled')
и сравнивать с ключом в кеше. Ключи, которые превышают значение $lastPolled, будут восприниматься как новые сообщения и добавляться в диалоги.
Наконец, я обновлю значение последнего опрашиваемого сеанса Session::put('lastPolled',date(Y-m-d H:i:s)
Итак, как мне сравнить $lastPolled со всеми ключами в кеше и получить значения каждого ключа? Что-то вроде:
$latestMessages = array();
foreach(KeysInCache as Key=>value){
if($lastPolled>Key)
array_push($latestMessages,Key=>value);
}
Благодарю вас!
P.S. бонусные баллы за лучшие предложения. О, и я не могу использовать memcache/redis/otherSuperCaches по техническим причинам, только кеш файла/базы данных. :(