[package]
edition = "2024"
rust-version = "1.90"
name = "fast-cache"
version = "0.1.0"
authors = ["Devon Tietjen <devon@eden.dev>"]
build = false
exclude = [
"bench/**",
"fuzz/**",
"tests/**",
"src/bin/bench_*.rs",
".DS_Store",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Embedded-first thread-per-core in-memory cache with optional Redis-compatible server"
homepage = "https://github.com/d-tietjen/fast-cache"
documentation = "https://docs.rs/fast-cache"
readme = "README.md"
keywords = [
"cache",
"redis",
"kv",
"storage",
"wal",
]
categories = [
"caching",
"database-implementations",
]
license = "Apache-2.0"
repository = "https://github.com/d-tietjen/fast-cache"
[features]
cuda = ["sharded"]
default = [
"embedded",
"sharded",
]
embedded = []
embedded-read-biased-lock = []
fast-point-map = []
monoio = [
"server",
"dep:monoio",
"bytes-handoff?/monoio",
]
server = [
"sharded",
"dep:bytes-handoff",
"dep:clap",
"dep:flume",
"dep:socket2",
"dep:tracing-subscriber",
]
sharded = ["embedded"]
shared-parking-lot-lock = []
telemetry = ["embedded"]
unsafe = []
[lib]
name = "fast_cache"
path = "src/lib.rs"
[[bin]]
name = "fast-cache-server"
path = "src/bin/fast-cache-server.rs"
required-features = ["server"]
[dependencies.bytes]
version = "1"
[dependencies.bytes-handoff]
version = "1.2.0"
optional = true
[dependencies.clap]
version = "4.5"
features = ["derive"]
optional = true
[dependencies.core_affinity]
version = "0.8"
[dependencies.crc32fast]
version = "1.4"
[dependencies.crossbeam-channel]
version = "0.5"
[dependencies.crossbeam-utils]
version = "0.8"
[dependencies.fast-telemetry]
version = "0.3"
[dependencies.flume]
version = "0.11"
features = ["async"]
optional = true
default-features = false
[dependencies.hashbrown]
version = "0.14"
[dependencies.itoa]
version = "1"
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "0.4"
[dependencies.lz4_flex]
version = "0.11"
[dependencies.memchr]
version = "2"
[dependencies.parking_lot]
version = "0.12"
[dependencies.rblock]
version = "0.1.0"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.smallvec]
version = "1"
[dependencies.socket2]
version = "0.5"
features = ["all"]
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.48"
features = [
"io-util",
"macros",
"net",
"rt-multi-thread",
"signal",
"sync",
"time",
]
[dependencies.toml]
version = "0.9"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
]
optional = true
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dependencies.zstd]
version = "0.13"
[dev-dependencies.tempfile]
version = "3.15"
[target.'cfg(target_os = "linux")'.dependencies.monoio]
version = "0.2"
optional = true