память
Простой кеш в памяти для node.js
Установка
npm install memory-cache --save
Использование
var cache = require ( 'memory-cache' ) ;
// now just use the cache
cache . put ( 'foo' , 'bar' ) ;
console . log ( cache . get ( 'foo' ) ) ;
// that wasn't too interesting, here's the good part
cache . put ( 'houdini' , 'disappear' , 100 , function ( key , value ) {
console . log ( key + ' did ' + value ) ;
} ) ; // Time in ms
console . log ( 'Houdini will now ' + cache . get ( 'houdini' ) ) ;
setTimeout ( function ( ) {
console . log ( 'Houdini is ' + cache . get ( 'houdini' ) ) ;
} , 200 ) ;
// create new cache instance
var newCache = new cache . Cache ( ) ;
newCache . put ( 'foo' , 'newbaz' ) ;
setTimeout ( function ( ) {
console . log ( 'foo in old cache is ' + cache . get ( 'foo' ) ) ;
console . log ( 'foo in new cache is ' + newCache . get ( 'foo' ) ) ;
} , 200 ) ;
который должен печатать
bar
Houdini will now disappear
houdini did disappear
Houdini is null
foo in old cache is baz
foo in new cache is newbaz
API
put = function (ключ, значение, время, TimeoutCallback)
- Просто хранит значение
- Если время не передается, оно хранится навсегда
- Фактически удалит значение в указанное время в MS (через
setTimeout
) - TimeoutCallback - это необязательная функция, которую сработает после истечения срока действия, с пропущенным ключом и значением (
function(key, value) {}
) - Возвращает кэшированное значение
get = function (ключ)
- Получает значение для данного ключа
- Если значение не кэшируется, возвращает
null
del = function (ключ)
- Удаляет ключ, возвращает логический, указывающий, был ли ключ удален или нет.
clear = function ()
size = function ()
- Возвращает текущее количество записей в кэше
memsize = function ()
- Возвращает количество записей, занимающих место в кэше
- Обычно
== size()
, если setTimeout
пошло не так
Debug = function (bool)
- Включает или выключите отладку
hits = function ()
- Возвращает количество хитов кэша (контролируется только в режиме отладки)
misses = function ()
- Возвращает количество пропусков кэша (контролируется только в режиме отладки)
Keys = function ()
- Возвращает все ключи кеша
ExportJson = function ()
- Возвращает строку JSON, представляющую все данные кэша
- Любые временные районы будут проигнорированы
ImportJson = function (json: string, options: {skipduplicates: boolean})
- Объединяет все данные из предыдущего вызова для
export
в кэш - Любые существующие записи до того, как
import
останется в кэше - Любые дубликаты клавиш будут перезаписаны, если
skipDuplicates
не true
- Любые записи, которые истекли бы с тех пор, как истекают экспорт, истекают после импорта (но их обратные вызовы не будут вызваны)
- Доступные
options
:-
skipDuplicates
: если true
, любые дублируемые ключи будут игнорироваться при их импорте. По умолчанию false
.
- Возвращает новый размер кэша
Cache = function ()
- Кэш -конструктор
- Обратите внимание, что
require('cache')
будет возвращать экземпляр по умолчанию кэша - в то время как
require('cache').Cache
- это фактический класс
Примечание на патчах/запросах на вытягивание
- Форк проект.
- Сделайте свою функцию с добавлением или исправлением ошибки.
- Пришлите мне запрос на вытяжение.