crate |
version |
foyer |
0.8.9 |
foyer-common |
0.6.4 |
foyer-memory |
0.3.6 |
foyer-storage |
0.7.6 |
foyer-storage-bench |
0.7.5 |
- feat: Add config to control the recover mode.
- feat: Add config to enable/disable direct i/o. (Enabled by default for large entries optimization.)
crate |
version |
foyer |
0.8.8 |
foyer-memory |
0.3.5 |
foyer-storage |
0.7.5 |
foyer-storage-bench |
0.7.4 |
- feat: Impl
Debug
for HybirdCache
.
- feat: Impl
serde
, Default
for eviction configs.
- refactor: Add internal trait
EvictionConfig
to bound eviction algorithm configs.
crate |
version |
foyer |
0.8.7 |
- Make
HybridCache
clonable.
crate |
version |
foyer-memory |
0.3.4 |
crate |
version |
foyer-storage |
0.7.4 |
- Fix
FsDeviceBuilder
on a non-exist directory without cacpacity given.
crate |
version |
foyer |
0.8.6 |
foyer-common |
0.6.3 |
foyer-intrusive |
0.5.3 |
foyer-memory |
0.3.3 |
foyer-storage |
0.7.3 |
foyer-storage-bench |
0.7.3 |
- Remove unused dependencies.
- Remove hakari workspace hack.
crate |
version |
foyer |
0.8.5 |
- Expose
EntryState
, HybridEntry
.
- Expose
StorageWriter
, Metrics
, get_metrics_registry
, set_metrics_registry
.
- Expose
RangeBoundsExt
, BufExt
, BufMutExt
.
- Re-export
ahash::RandomState
.
- Loose
entry()
args trait bounds.
crate |
version |
foyer |
0.8.4 |
crate |
version |
foyer |
0.8.3 |
- Expose
Key
, Value
, StorageKey
, StorageValue
traits.
crate |
version |
foyer |
0.8.2 |
foyer-common |
0.6.2 |
foyer-intrusive |
0.5.2 |
foyer-memory |
0.3.2 |
foyer-storage |
0.7.2 |
foyer-storage-bench |
0.7.2 |
foyer-workspace-hack |
0.5.2 |
- Add
nightly
feature to make it compatible with night toolchain.
crate |
version |
foyer |
0.8.1 |
foyer-common |
0.6.1 |
foyer-intrusive |
0.5.1 |
foyer-memory |
0.3.1 |
foyer-storage |
0.7.1 |
foyer-storage-bench |
0.7.1 |
foyer-workspace-hack |
0.5.1 |
- Add
with_flush
to enable flush for each io.
- Loose MSRV to 1.76 .
- Flush the device on store close.
crate |
version |
foyer |
0.8.0 |
foyer-common |
0.6.0 |
foyer-intrusive |
0.5.0 |
foyer-memory |
0.3.0 |
foyer-storage |
0.7.0 |
foyer-storage-bench |
0.7.0 |
foyer-workspace-hack |
0.5.0 |
- Combine in-memory cache and disk cache into
HybridCache
.
- Refine APIs, make them more user-friendly.
- Refine
Key
, Value
, StorageKey
, StorageValue
traits.
- Support
serde
for storage key and value serialization and deserialization.
- Loose trait bounds for key and value.
- Add configurable ghost queue for S3FIFO.
- Fix S3FIFO eviction bugs.
- Add more examples.
crate |
version |
foyer |
0.7.0 |
foyer-common |
0.5.0 |
foyer-intrusive |
0.4.0 |
foyer-memory |
0.2.0 |
foyer-storage |
0.6.0 |
foyer-storage-bench |
0.6.0 |
foyer-workspace-hack |
0.4.0 |
- Make
foyer
compatible with rust stable toolchain (MSRV = 1.77.2). 🎉
crate |
version |
foyer-storage |
0.5.1 |
foyer-memory |
0.1.4 |
- fix: Fix panics on
state()
for s3fifo entry.
- fix: Enable
offset_of
feature for foyer-storage
.
crate |
version |
foyer-intrusive |
0.3.1 |
foyer-memory |
0.1.3 |
- feat: Introduce s3fifo to
foyer-memory
.
- fix: Fix doctest for
foyer-intrusive
.
crate |
version |
foyer-memory |
0.1.2 |
- fix:
foyer-memory
export DefaultCacheEventListener
.
crate |
version |
foyer-memory |
0.1.1 |
- Make eviction config clonable.
crate |
version |
foyer-storage-bench |
0.5.1 |
- Fix
foyer-storage-bench
build with trace
feature.
crate |
version |
foyer |
0.6.0 |
foyer-common |
0.4.0 |
foyer-intrusive |
0.3.0 |
foyer-memory |
0.1.0 |
foyer-storage |
0.5.0 |
foyer-storage-bench |
0.5.0 |
foyer-workspace-hack |
0.3.0 |
- Release foyer in-memory cache as crate
foyer-memory
.
- Bump other components with changes.
crate |
version |
foyer |
0.5.0 |
foyer-common |
0.3.0 |
foyer-intrusive |
0.2.0 |
foyer-storage |
0.4.0 |
foyer-storage-bench |
0.4.0 |
foyer-workspace-hack |
0.2.0 |
- Bump rust-toolchain to "nightly-2023-12-26".
- Introduce time-series distribution args to bench tool. #253
- Fix duplicated insert drop metrics.
crate |
version |
foyer |
0.4.0 |
foyer-storage |
0.3.0 |
foyer-storage-bench |
0.3.0 |
foyer-workspace-hack |
0.1.1 |
- Remove config
flusher_buffer_capacity
.
- Fix benchmark tool cache miss ratio.
crate |
version |
foyer-storage |
0.2.2 |
- Fix metrics for writer dropping.
- Add interface
insert_async_with_callback
and insert_if_not_exists_async_with_callback
for callers to get the insert result.
crate |
version |
foyer-storage |
0.2.1 |
- Introduce the entry size histogram, update metrics.
crate |
version |
foyer |
0.3.0 |
foyer-common |
0.2.0 |
foyer-storage |
0.2.0 |
foyer-storage-bench |
0.2.0 |
- Introduce the associated type
Cursor
for trait Key
and Value
to reduce unnecessary buffer copy if possible.
- Remove the ring buffer and continuum tracker for they are no longer needed.
- Update the configuration of the storage engine and the benchmark tool.
crate |
version |
foyer |
0.2.0 |
foyer-common |
0.1.0 |
foyer-intrusive |
0.1.0 |
foyer-storage |
0.1.0 |
foyer-storage-bench |
0.1.0 |
foyer-workspace-hack |
0.1.0 |
The first version that can be used as file cache.
The write model and the design of storage engine has been switched from CacheLib navy version to the ring buffer version (which was highly inspired by MySQL 8.0 link_buf).
Introduces Store
, RuntimeStore
, LazyStore
to simplify usage. In most cases, RuntimeStore
is preferred to use a dedicated tokio runtime to serve foyer to avoid the influence to the user's runtime. If lazy-load is needed, use RuntimeLazyStore
instead.
The implementation of foyer is separated into multiple crates. But importing foyer
is enough for it re-exports the crates that foyer's user needs.
Brief description about the subcrates:
- foyer-common: Provide basic data structures and algorithms.
- foyer-intrusive: Provide intrusive containers for implementing eviction lists and collections. Intrisive data structures provide the ability to implement low-cost multi-index data structures, which will be used for the memory cache in future.
- foyer-storage: Provide the file cache storage engine and wrappers to simplify the code.
- foyer-storage-bench: Runnable benchmark tool for the file cache storage engine.
- foyer-workspace-hack: Generated by hakari to prevent building each crate from triggering building from scratch.
crate |
version |
foyer |
0.1.0 |
Initial version with just bacis interfaces.