Простая реализация кэша в памяти с использованием концепции групп. Группа представляет собой упорядоченное множество, которое компенсирует недостатки списка Redis. Поддерживаемые языки: JavaScript и Node.js. Версия для Java доступна по ссылке: https://github.com/newpanjing/group-cache.
Использование:
Все методы являются синхронными и могут использоваться как в Node.js, так и в браузере. Для использования в Node.js выполните следующие шаги:
Установите зависимость: var factory = require("../core/GroupCacheFactory");
.
Создайте группу: var group = factory.group("abc")
.
Используйте методы группы для работы с кэшем.
Пример использования:
// Кэшируем ключ "a" со значением "asdsad" и сроком действия 10 секунд
group.push("a", "asdsad", 10);
// Кэшируем объект {a: "张三", b: "李四", area: "china"} без срока действия
group.push("b", {
a: "张三",
b: "李四",
area: "china"
});
// Кэшируем значение 123 со сроком действия 20 секунд
group.push("c", 123, 20);
Для получения информации о ключах и значениях используйте методы getKeys()
и getValues()
соответственно. Пример:
// Выводим все ключи
console.log(group.getKeys());
// Выводим все значения
console.log(group.getValues());
Чтобы получить значение по ключу, используйте метод getValue()
. Пример:
// Получаем значение по ключу "b"
console.log(group.getValue("b"));
Добавление, удаление и изменение значений аналогично. Пример добавления ключа "d" со значением 231:
group.push("d", "231");
Удаление ключа "d":
group.delete("d");
Изменение времени жизни ключа "a":
group.expire("a", 15);
Проверка существования ключа "b":
console.log("b是否存在:" + group.exist("b"));
Определение пустоты группы:
console.log("group为空吗? " + group.isEmpty());
Получение размера группы:
console.log("group 数量:" + group.size())
Также можно использовать методы poll()
, rPoll()
, peek()
, которые выполняют различные операции с элементами группы.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )