node-cacheup

0.0.7 • Public • Published

node-cacheup (English)

node-cacheup is a lightweight, in-memory caching library for Node.js applications, providing flexible key-value storage with customizable expiration settings.

Features

  • In-memory storage: Stores key-value pairs in memory for fast access.
  • Custom expiration: Set expiration times for cache entries, with automatic cleanup.
  • Utility methods: Generate random keys, clear cache, and manage expiration seamlessly.

Installation

npm install node-cacheup
# or
yarn add node-cacheup

Usage

const MemoryCache = require('node-cacheup');

// Initialize the cache
const cache = new MemoryCache();

// Set a cache entry with a TTL (in milliseconds)
cache.set('myKey', 'myValue', 5000); // Expires in 5 seconds

// Get a cache entry
const value = cache.get('myKey');
console.log(value); // Outputs: 'myValue' (if not expired)

// Delete a specific key
cache.delete('myKey');

// Clear all cache entries
cache.clear();

Express Usage

import express from 'express';
const MemoryCache = require('node-cacheup');

const app = express();
const cache = new MemoryCache();

app.get('/token/:key', (req, res) => {
    const key = cache.set(req.params.key, null, 10000, { length: 12, letters: true, numbers: true });
    const keyInfo = cache.getInfo(key);
    res.json({ key, ...keyInfo });
});

app.get('/verifyToken/:key', (req, res) => {
    const isValid = !!cache.get(req.params.key);
    res.json({ isValid });
});

app.listen(3000, () => console.log('Server is running on port 3000'));

API Reference

set(key, value, ttl)

  • Stores a value with the specified key and TTL (time-to-live).

get(key)

  • Retrieves the value for a specific key.

delete(key)

  • Removes the entry for a specific key.

clear()

  • Clears all entries in the cache.

getAll()

  • Returns all key-value pairs with their expiration information.

License

This project is licensed under the MIT License - see the LICENSE file for details. LICENSE.

Contact

+55 (11) 97013-3902

mateus.camaccho@gmail.com

node-CacheUp (Português)

npm license issues

Node-CacheUp é uma biblioteca simples e eficiente para gerenciamento de cache em memória em aplicações Node.js. Com suporte para configuração de TTL (time-to-live) e várias opções de geração de chaves, essa biblioteca ajuda a otimizar o desempenho de suas APIs e serviços, reduzindo a necessidade de chamadas repetidas ao banco de dados ou a APIs externas.

Índice

Recursos

  • Armazenamento em memória: Armazena dados temporariamente para rápido acesso.
  • TTL configurável: Define o tempo de expiração de cada item no cache.
  • Geração de chave personalizada: Criação de chaves personalizadas com letras, números e caracteres especiais.
  • Métodos utilitários: Obtenha informações sobre o cache e formate datas de expiração.

Instalação

Para instalar o CacheUp, utilize o npm ou yarn:

npm install node-cacheup
# ou
yarn add node-cacheup

Uso

Exemplo básico

import MemoryCache from 'node-cacheup';

const cache = new MemoryCache({ ttl: 60000 }); // TTL padrão de 60 segundos

// Definindo um valor no cache
const key = cache.set('testKey', 'testValue');
console.log(cache.get(key)); // Saída: testValue

Usando com Express

import express from 'express';
import MemoryCache from 'node-cacheup';

const app = express();
const cache = new MemoryCache();

app.get('/token/:key', (req, res) => {
    const key = cache.set(req.params.key, null, 10000, { length: 12, letters: true, numbers: true });
    const keyInfo = cache.getInfo(key);
    res.json({ key, ...keyInfo });
});

app.get('/verifyToken/:key', (req, res) => {
    const isValid = !!cache.get(req.params.key);
    res.json({ isValid });
});

app.listen(3000, () => console.log('Server is running on port 3000'));

API

set(key, value, ttl, options)

Define um valor no cache.

  • key (string): A chave para armazenar o valor. Se não for passada, será gerada automaticamente.
  • value (any): O valor a ser armazenado.
  • ttl (number): Tempo em milissegundos antes do item expirar (padrão: valor de defaultTTL).
  • options (object): Configurações adicionais para geração da chave:
    • length (number): Tamanho da chave (padrão: 8).
    • numbers, letters, specialChars (boolean): Incluir números, letras e caracteres especiais na chave.

Retorno: A chave gerada para o item.

get(key)

Recupera o valor armazenado para a chave especificada.

  • key (string): A chave do item no cache.

Retorno: O valor do item ou null se o item expirou ou não existe.

getInfo(key)

Recupera informações do item no cache, incluindo data de expiração.

  • key (string): A chave do item no cache.

Retorno: Um objeto com value e expiresAt formatado.

delete(key)

Remove um item do cache.

  • key (string): A chave do item a ser removido.

Retorno: true se o item foi removido, false caso contrário.

clear()

Limpa todos os itens do cache.

Retorno: void.

getAll()

Recupera todos os itens não expirados no cache.

Retorno: Um objeto contendo todas as chaves e valores válidos, com informações de expiração.

Testes

Para executar os testes, utilize o comando:

npm test

Os testes garantem a correta funcionalidade dos métodos set, get, delete, clear, getInfo e getAll do CacheUp.

Licença

Este projeto está licenciado sob a licença MIT. Para mais detalhes, consulte o arquivo LICENSE.

Buy me a coffee 🍵

pix: mateus.camaccho@gmail.com

Contato

+55 (11) 97013-3902

mateus.camaccho@gmail.com

Readme

Keywords

none

Package Sidebar

Install

npm i node-cacheup

Weekly Downloads

4

Version

0.0.7

License

MIT

Unpacked Size

16.6 kB

Total Files

7

Last publish

Collaborators

  • mateuscamacho