/ / json кешування даних для extjs-сіток - json, codeigniter, кешування, extjs

json data caching для extjs grids - json, codeigniter, кешування, extjs

Я використовую кодигнатор (MVC) і extjs для заявки. Додаток містить багато сіток extjs із даними, що стосуються користувачів. Я хочу кешувати відповідь json сервера до певного часу.

У мене з’явилася ідея здійснити це наступним чином

if(cache file exists and not expired)
{
$data = read_file(cache file path);// the cache file contains json encoded data with .json extention
}
else
{
$result = call to a model function; // returns data from a mysql query
$data = json_encode( $result );
//creating cache file with retrived data
wite_file(cache file path, $data)
}
echo $data; // $data is in json format

Я хочу реалізувати кешування таким чином. Це правильний шлях ?. В цілому я хочу реалізувати власну бібліотеку кешування json для кешування даних json сервера для сіток extjs

Чи є вже доступні бібліотеки кешування json для кодигінітера. Будь ласка, допоможіть зі своїми пропозиціями

Відповіді:

0 для відповіді № 1

У Codeigniter вбудовано майже саме те, що ви описуєте. Вони називають його драйвером кешування: http://codeigniter.com/user_guide/libraries/caching.html

У вашому випадку ви хочете ініціювати це так:

$this->load->driver("cache", array("adapter" => "file", "backup" => "file"));

if ( ! $foo = $this->cache->get("foo"))
{
echo "Saving to the cache!<br />";
$foo = "foobarbaz!";

// Save into the cache for 5 minutes
$this->cache->save("foo", $foo, 300);
}

echo json_encode($foo);

Він запише дані кешу у файл.

Нижній бік у вашому випадку полягає в тому, що CI серіалізуєдані в кеш-файлі на відміну від використання JSON. Я думаю, ви могли б замінити драйвер, використовуючи json_encode () замість serialize (). Наведений вище спосіб витратить трохи ресурсів, оскільки він одночасно серіалізує І використовує кодування json на виході.


0 для відповіді № 2

Так, це добре звучить, щоб знати, чи закінчився термін дії файлу чи ні, ви можете використовувати часову позначку створення у файловій системі.

The stat Функція повинна надати вам достатньо інформації про файл, щоб закінчити їх, коли це потрібно.

Здається, що у Codeigniter є деякі механізм кешування на жаль, здається, що він доступний лише для веб-сторінок, якщо ви використовуєте представлення для надання вам JSON, ви можете це використовувати.