Crates.io | kismet-cache |
lib.rs | kismet-cache |
version | 0.2.4 |
source | src |
created_at | 2021-10-12 18:02:28.727398 |
updated_at | 2023-04-16 14:05:22.049743 |
description | A bounded multiprocess cache of files on disk. |
homepage | |
repository | https://github.com/pkhuong/kismet-cache |
max_upload_size | |
id | 464082 |
size | 211,880 |
Kismet implements multiprocess lock-free crash-safe and (roughly) bounded persistent caches stored in filesystem directories, with a Second Chance eviction strategy. The maintenance logic is batched and invoked at periodic jittered intervals to make sure accesses amortise to a constant number of filesystem system calls and logarithmic (in the number of cached file) time complexity, without requiring any persistent in-memory statistics. That's good for application simplicity and performance, and enables lock-freedom, but does mean that caches are expected to temporarily grow past their capacity limits, although rarely by more than a factor of 2 or 3.