[package]
name = "cache-kit"
version = "0.9.0"
edition = "2021"
rust-version = "1.75"
authors = ["Kishore kumar Neelamegam <nkishore@megam.io>"]
license = "MIT"
description = "A type-safe, fully generic, production-ready caching framework for Rust"
readme = "README.md"
repository = "https://github.com/megamsys/cache-kit.rs"
keywords = ["cache", "redis", "memcached", "async"]
categories = ["asynchronous", "caching", "database"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
postcard = { version = "1.1", features = ["alloc"] }
log = "0.4"
tokio = { version = "1.41", features = ["rt", "sync", "macros", "time"] }
futures = "0.3"
dashmap = "5.5"
redis = { version = "1.0", optional = true, features = ["tokio-comp", "connection-manager"] }
deadpool-redis = { version = "0.22", optional = true }
deadpool-memcached = { version = "0.4", optional = true }
async-memcached = { version = "0.5", optional = true }
[dev-dependencies]
tokio = { version = "1.41", features = ["full", "test-util"] }
env_logger = "0.11"
proptest = "1.9"
quickcheck = "1.0"
criterion = { version = "0.8", features = ["html_reports", "async_tokio"] }
rand = "0.9"
axum = "0.8"
tower = "0.4"
uuid = { version = "1.11", features = ["v7"] }
[features]
default = ["inmemory"]
inmemory = []
redis = ["dep:redis", "dep:deadpool-redis"]
memcached = ["dep:deadpool-memcached", "dep:async-memcached"]
all = ["inmemory", "redis", "memcached"]
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "multiple_backends"
path = "examples/multiple_backends.rs"
[[example]]
name = "advanced_builder"
path = "examples/advanced_builder.rs"
[[bench]]
name = "cache_benchmark"
harness = false
[[bench]]
name = "redis_benchmark"
harness = false
required-features = ["redis"]
[[bench]]
name = "memcached_benchmark"
harness = false
required-features = ["memcached"]