| Crates.io | kismet-cache |
| lib.rs | kismet-cache |
| version | 0.2.4 |
| created_at | 2021-10-12 18:02:28.727398+00 |
| updated_at | 2023-04-16 14:05:22.049743+00 |
| 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.