В моето нормално приложение за чат 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 по технически причини, само кеш файл/база данни. :(