diff --git a/src/ZoneTree/Segments/Disk/CircularBlockCache.cs b/src/ZoneTree/Segments/Disk/CircularBlockCache.cs index afaef1e..29b0b3a 100644 --- a/src/ZoneTree/Segments/Disk/CircularBlockCache.cs +++ b/src/ZoneTree/Segments/Disk/CircularBlockCache.cs @@ -30,7 +30,10 @@ public class CircularBlockCache block, (key, existingBlock) => { - if (existingBlock.LastAccessTicks + + // todo: add secondary table to optimize + // cache index collision. + if (MaxCachedBlockCount > 32 && + existingBlock.LastAccessTicks + MinimumBlockLifeSpanInMilliseconds > DateTime.UtcNow.Ticks) return existingBlock;