velesdb_core/cache/mod.rs
1//! Caching layer for `VelesDB` (SOTA 2026).
2//!
3//! Based on arXiv:2310.11703v2 recommendations:
4//! - LRU cache for metadata-only collections
5//! - Bloom filter for existence checks
6//! - Cache statistics and monitoring
7//!
8//! # Thread-Safety & Lock Ordering
9//!
10//! All structures are thread-safe via `parking_lot::RwLock`.
11//!
12//! **Lock Hierarchy (acquire in this order to prevent deadlocks):**
13//! 1. `BloomFilter.bits` (RwLock)
14//! 2. `BloomFilter.count` (RwLock)
15//! 3. `LruCache.inner` (RwLock)
16
17mod bloom;
18mod lockfree;
19mod lru;
20
21pub use bloom::BloomFilter;
22pub use lockfree::{LockFreeCacheStats, LockFreeLruCache};
23pub use lru::{CacheStats, LruCache};
24
25#[cfg(test)]
26mod deadlock_tests;
27#[cfg(test)]
28mod lru_optimization_tests;
29#[cfg(test)]
30mod performance_tests;
31#[cfg(test)]
32mod tests;