#![forbid(unsafe_code)]
mod cache;
mod cacheflight;
mod error;
mod memory;
mod metrics;
#[cfg(feature = "redis")]
mod redis;
pub use async_trait::async_trait;
pub use cache::CacheBackend;
pub use cacheflight::{
CacheFlight, ComputeValue, HasFlatExpiry, HasSwrExpiry, HasXfetch, LookupResult, LookupState,
NoExpiry, NoXfetch,
};
pub use error::{Error, ErrorSource, Result};
pub use memory::MemoryCache;
pub use metrics::{CacheMissReason, MetricsHooks, NoopMetrics, RecomputeOutcome, RecomputeReason};
#[cfg(feature = "redis")]
pub use redis::RedisCache;