Кэш с уверенностью
Ultra Fast & Tiny ( около 1,28 КБ gzipped ) в памяти кэш JavaScript с функцией истечения срока действия кэша в режиме реального времени
Работает в любом среде выполнения JavaScript (узел или браузер)
npm install pure-cacheyarn add pure-cache < script src =" https://unpkg.com/pure-cache/dist/pure-cache.umd.js " > </ script > Импорт библиотека
import PureCache from 'pure-cache' ;
// or const PureCache = require('pure-cache');Создайте экземпляр Cachestore
// Create instance of cache store and set cache expiry timeout to 500ms
const cacheStore = new PureCache ( { expiryCheckInterval : 500 } ) ;Настройка обработчика истечения срока действия
// Setup a expiry listener, this will be called when data expires
const onExpiry = ( { key , data : { value , expiryAt } } ) => {
// Do something with expired key
console . log ( `Key: ${ key } with value: ${ value } expired at ${ expiryAt } .` ) ;
} ;
cacheStore . on ( 'expiry' , onExpiry ) ;Поместите/получите данные из Cachestore
// Put 'bar' data into 'foo' key in cache and configure it to expire after 30s
cacheStore . put ( 'foo' , 'bar' , 30000 ) ;
// Get 'foo' key value from cache
cacheStore . get ( 'foo' ) ; // { value: 'bar', addedAt: 1527052395294, expiryAt: 1527052425294 }Подождите истекания
// Wait till expiry time(basically 30+ seconds in this case)
const wait = t => new Promise ( r => setTimeout ( r , t ) ) ;
await wait ( 31000 ) ;
// Now the cache will return null value for 'foo' key
cacheStore . get ( 'foo' ) ; // nullОчистка слушателей
// remove listeners after you are done
cacheStore . off ( 'expiry' , onExpiry ) ;
// IMPORTANT! When done, make sure you cleanup the instance
cacheStore . dispose ( ) ;Посмотрен API для расширенного использования.
События запускаются, когда такие операции, как Add, Get, удалить, очистить, выполняются на Cachestore или когда кэш истекает.
истечение
cacheStore . on ( 'expiry' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;добавлять
cacheStore . on ( 'add' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;получать
cacheStore . on ( 'get' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;удалять
cacheStore . on ( 'remove' , ( { key , data : { value , addedAt , expiryAt } } ) => {
// ...
} ) ;прозрачный
cacheStore . on ( 'clear' , ( ) => {
// ...
} ) ; Спасибо, что потратили время, чтобы внести свой вклад, пожалуйста, прочитайте документы и проверьте SRC, чтобы понять, как все работает.
Нашли проблему? Хотите новую функцию? Прежде всего, посмотрите, сообщили ли о вашей проблеме или идее. Если нет, просто откройте новую ясную и описательную проблему.
Запросы на привлечение являются наибольшим вкладом, поэтому убедитесь, что они сосредоточены на сфере масштабов и избегайте не связанных коммитов.
git clone https://github.com/<your-username>/pure-cachecd pure-cachegit checkout -b my-new-featureyarngit commit -am 'Add some feature'git push origin my-new-featureЛицензия MIT © Ganapati VS