russian-modules-cache
v1.0.2
Published
Модуль кэширования для Russian Modules с поддержкой русского языка в коде
Maintainers
Readme
Russian Modules Cache 🇷🇺
Простой и эффективный модуль кэширования для Node.js с поддержкой русского языка в коде.
Установка
npm install russian-modules-cache
# Russian Modules Cache 🇷🇺
Простой и эффективный модуль кэширования для Node.js с поддержкой русского языка в коде.
## 🎯 Обоснование проекта
### Почему этот модуль был создан?
**Russian Modules Cache** родился из необходимости создать инструмент, который:
#### 🧠 Для русскоязычных разработчиков:
- **Естественность** - код читается как родная речь, снижая когнитивную нагрузку
- **Быстрое понимание** - имена методов интуитивно понятны без перевода
- **Снижение ошибок** - меньше путаницы в терминологии (cache vs кэш, get vs получить)
#### 🌍 Для международной совместимости:
- **Двойной API** - русские методы + английские псевдонимы
- **Стандартные практики** - под капотом обычный JavaScript/Node.js
- **Легкая интеграция** - работает с любым существующим кодом
#### 🚀 Технические преимущества:
- **Нулевые зависимости** - только нативный Node.js
- **Производительность** - использует Map для максимальной скорости
- **Гибкость** - модульная архитектура со стратегиями
- **Простота** - минимальный API для быстрого старта
### Кому подойдет этот модуль?
| Группа | Преимущества |
|--------|--------------|
| 🇷🇺 Русскоязычные команды | Код как документация, меньше ментального переключения |
| 🏢 Российские компании | Соответствие внутренним стандартам именования |
| 🎓 Образовательные проекты | Идеален для обучения основам кэширования |
| 🔧 Многоязычные проекты | Плавный переход между русским и английским API |
// Писать вот так:
кэш.установить('пользователь', данные, 60000);
кэш.получить('пользователь');
# Russian Modules Cache 🇷🇺
Простой и эффективный модуль кэширования для Node.js с поддержкой русского языка в коде.
## 🎯 Обоснование проекта
### Почему этот модуль был создан?
**Russian Modules Cache** родился из необходимости создать инструмент, который:
#### 🧠 Для русскоязычных разработчиков:
- **Естественность** - код читается как родная речь, снижая когнитивную нагрузку
- **Быстрое понимание** - имена методов интуитивно понятны без перевода
- **Снижение ошибок** - меньше путаницы в терминологии (cache vs кэш, get vs получить)
#### 🌍 Для международной совместимости:
- **Двойной API** - русские методы + английские псевдонимы
- **Стандартные практики** - под капотом обычный JavaScript/Node.js
- **Легкая интеграция** - работает с любым существующим кодом
#### 🚀 Технические преимущества:
- **Нулевые зависимости** - только нативный Node.js
- **Производительность** - использует Map для максимальной скорости
- **Гибкость** - модульная архитектура со стратегиями
- **Простота** - минимальный API для быстрого старта
### Кому подойдет этот модуль?
| Группа | Преимущества |
|--------|--------------|
| 🇷🇺 Русскоязычные команды | Код как документация, меньше ментального переключения |
| 🏢 Российские компании | Соответствие внутренним стандартам именования |
| 🎓 Образовательные проекты | Идеален для обучения основам кэширования |
| 🔧 Многоязычные проекты | Плавный переход между русским и английским API |
🌍 Английский API
set(key, value, ttl) - alias для установить
get(key) - alias для получить
del(key) - alias для удалить
clear() - alias для очистить
has(key) - alias для имеет
stats() - alias для получитьСтатистику
keys() - alias для получитьКлючи
size() - alias для получитьРазмер
🚀 Быстрый старт
const { создатьКэш } = require('russian-modules-cache');
💡 Примеры использования
Кэширование результатов API
javascript
const кэш = создатьКэш({ времяЖизниПоУмолчанию: 60000 });
async function получитьДанныеПользователя(id) {
const ключ = `пользователь:${id}`;
// Пытаемся получить из кэша
const кэшированныеДанные = кэш.получить(ключ);
if (кэшированныеДанные) {
return кэшированныеДанные;
}
# Или напрямую
node тесты/тестКэша.js
📈 Производительность
Модуль использует нативный Map для хранения данных, что обеспечивает:
O(1) для операций get/set
Высокую производительность даже при больших объемах данных
Минимальное использование памяти
🔮 Roadmap
LRU стратегия
LFU стратегия
Персистентность (сохранение на диск)
Кластерная поддержка
Redis адаптер
Метрики и мониторинг
🤝 Участие в разработке
Мы приветствуем вклад в развитие проекта! Особенно нужны:
Новые стратегии кэширования
Перевод документации
Примеры использования
Тесты и баг-репорты
## Ключевые разделы обоснования:
1. **🎯 Цели проекта** - почему модуль был создан
2. **👥 Целевая аудитория** - кому будет полезен
3. **🏗️ Философия дизайна** - принципы разработки
4. **📊 Сравнение** - преимущества перед стандартными решениями
5. **🚀 Преимущества** - технические и практические выгоды
6. **🔮 Планы развития** - roadmap проекта