@universal-lock/memory
v1.0.0
Published
In-memory backend for universal-lock
Maintainers
Readme
@universal-lock/memory
In-memory backend for universal-lock. Stores locks in a plain JavaScript object using timestamps for stale detection.
Installation
npm install universal-lock @universal-lock/memoryUsage
ESM
import { lockFactory } from "universal-lock";
import { createBackend } from "@universal-lock/memory";
const lock = lockFactory(createBackend());
const release = await lock.acquire("my-resource");
try {
// critical section
} finally {
await release();
}CommonJS
const { lockFactory } = require("universal-lock");
const { createBackend } = require("@universal-lock/memory");
const lock = lockFactory(createBackend());Browser (IIFE)
<script src="https://unpkg.com/@universal-lock/memory/dist/index.global.js"></script>
<script src="https://unpkg.com/universal-lock/dist/index.global.js"></script>
<script>
const lock = UniversalLock.lockFactory(UniversalLockMemory.createBackend());
</script>API
createBackend()
Creates an in-memory backend instance. No arguments required.
import { createBackend } from "@universal-lock/memory";
const backend = createBackend();When to Use
- Development and testing
- Single-process Node.js applications
- Prototyping before switching to a distributed backend
Limitations
- Locks are not shared across processes or servers. For distributed locking, use
@universal-lock/redis.
