Поискал на хабре пост про эту библиотеку, не нашел и решил написать коротенько о ней.
Библиотека называется locache.js и позволяет кэшировать JS строки, массивы и объекты. Изюминка библиотеки в том, что кэшировать можно как внутри сессии пользователя, т.е. до перезагрузки окна браузера, так и за ее приделами, т.е. даже после закрытия браузера кэш останется.
Пару примеров с сайта библиотеки:
- // Устанавливаем время жизни кэша
- var seconds = 60;
- // Записываем данные в кэш и устанавливаем время жизни равное 60 сек
- locache.set("key", {
- 'user': 1,
- 'books': ['a', 'b', 'c']
- }, seconds);
- // Получаем данные из кэша
- locache.get("key");
- // {'user': 1, 'books': ['a', 'b', 'c']}
- // Внимание, возвращается именно объект, а не строка
- // Эдем 60 секунд и снова пробуем получить данные из кэша
- locache.get("key");
- // null
- // Если необходимо сохранить данные только для текущей сессии
- // нужно использовать следующую запись
- locache.session.set("private", {
- 'likes': ['kittens', 'JavaScript']
- });
- // Все остальные методы так же работают для записи .session
- locache.session.get("private");
- // Все данные, сохраненные в сессии будут потеряны
- // когда пользователь закроет браузер
В дополнение приведу реальный пример использования данной библиотеки. Сейчас я работаю над web-интерфейсом, который загружается только один раз и затем все действия создают только AJAX запросы к серверу для получения новых данных. У интерфейса и его подгружаемых модулей есть множество настроек, которые изменяются довольно редко. Такие настройки я храню в виде статических файлов со строковым представлением JS объектов. При каждом изменении файл получает уникальное имя. Затем эти файлы вычитываются интерфейсом при помощи AJAX запросов. Для их кэширования по имени файла я и использую эту библиотеку.
Надеюсь кому-то она пригодится так же как и мне.
Автор: vagrand