Disked backed array is a data structure that combines the benefits of an array with the persistence of disk storage.
npm install disk-backed-array
import { DiskBackedArray } from 'disk-backed-array';
const diskBackedArray: DiskBackedArray = new DiskBackedArray('logs.bin');
await diskBackedArray.open();
await diskBackedArray.set(0, Buffer.from('hello world'));
const buffer: Buffer = await diskBackedArray.get(0);
import { PartitionedDiskBackedArray } from 'disk-backed-array';
const partitionedDiskBackedArray: PartitionedDiskBackedArray = new PartitionedDiskBackedArray('data', 'logs');
await partitionedDiskBackedArray.open();
await partitionedDiskBackedArray.append(Buffer.from('hello world'));
const buffer: Buffer = await partitionedDiskBackedArray.get(0);
Closes the file descriptor
await diskBackedArray.close();
Returns data stored at specified index
const buffer: Buffer = await diskBackedArray.get(0);
Return length of array
const length: number = diskBackedArray.length();
Opens the file descriptor
await diskBackedArray.open();
Sets data at specified index
await diskBackedArray.set(0, buffer);
Truncates data at specified index
await diskBackedArray.truncate(0);
Sets data at the last index
await partitionedDiskBackedArray.append(buffer);
const isClose: boolean = await partitionedDiskBackedArray.isClose();
Opens the file descriptor
await partitionedDiskBackedArray.open();
Return length of array
const length: number = partitionedDiskBackedArray.length();
Returns data stored at specified index
const buffer: Buffer = await partitionedDiskBackedArray.get(0);
Truncates data at specified index
await partitionedDiskBackedArray.truncate(0);
********************************************
** checksum ** length ** data **
** 8 bytes ** 3 bytes ** 512 bytes **
********************************************
set/second | get/second | |
---|---|---|
Single Queue | 17 685 | |
Parallel Queue (3) | 26 234 |