Skip to content

The Memory Storage Library is a simple and lightweight TypeScript library for storing data in memory. It provides an easy-to-use API for setting, getting, removing, and clearing key-value pairs in memory. This library is ideal for use cases where you need temporary storage without the overhead of a database or local storage.

License

Notifications You must be signed in to change notification settings

obi-tec/memory-cache

Repository files navigation

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.

About

The Memory Storage Library is a simple and lightweight TypeScript library for storing data in memory. It provides an easy-to-use API for setting, getting, removing, and clearing key-value pairs in memory. This library is ideal for use cases where you need temporary storage without the overhead of a database or local storage.

Resources

License

Stars

Watchers

Forks

Packages

No packages published