JSPM

@obi-tec/memory-cache

1.0.6
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 70
  • Score
    100M100P100Q82000F
  • License Apache License

Memory Cache is a TypeScript library for caching data in memory to improve the performance of your applications.

Package Exports

  • @obi-tec/memory-cache
  • @obi-tec/memory-cache/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@obi-tec/memory-cache) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Memory Cache

Memory Cache is a TypeScript library for in-memory caching. It provides a simple and efficient way to store and retrieve data in memory, improving the performance of your applications.

Features

  • Lightweight and fast
  • Simple API
  • Supports TTL (Time to Live) for cache entries
  • Written in TypeScript for type safety

Installation

To install the library, use npm or yarn:

npm install @obi-tec/memory-cache

Usage

Here's a basic example of how to use Memory Cache TS:

import MemoryCache from '@obi-tec/memory-cache';

// Set a value in the cache
MemoryCache.set<number>('key', 123, 60); // The value will expire in 60 seconds

// Get a value from the cache
const value = MemoryCache.get('key');
console.log(value); // Output: 123

// Delete a value from the cache
MemoryCache.del('key');

API

set<T>(key: string, value: T, ttl?: number): void

Stores a value in the cache with an optional TTL (Time to Live).

  • key: The key to store the value under.
  • value: The value to store.
  • ttl: Optional. The time in seconds before the value expires. Default value is 60 seconds.

get<T>(key: string): T | undefined

Retrieves a value from the cache.

  • key: The key of the value to retrieve.
  • Returns: The value associated with the key, or undefined if the key does not exist in the cache.

del(key: string): void

Deletes a value from the cache.

  • key: The key of the value to delete.

flush(): void

Flushes the entire cache, removing all entries.

keys(): string[]

Returns an array of all keys currently stored in the cache.

getTTL(key: string): number | undefined

Retrieves the remaining TTL (Time to Live) for a given key.

  • key: The key of the value to check the TTL for.
  • Returns: The remaining TTL in seconds, or undefined if the key does not exist or has no TTL set.

setTTL(key: string, ttl: number): void

Updates the TTL (Time to Live) for an existing cache entry.

  • key: The key of the value to update the TTL for.
  • ttl: The new TTL in seconds.

Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

License

This project is licensed under the Apache License.