[[bench]]
name = "cache_benchmark"
path = "benches/cache_benchmark.rs"
[[bench]]
name = "l2_cache_benchmark"
path = "benches/l2_cache_benchmark.rs"
[[bench]]
name = "optimization_benchmark"
path = "benches/optimization_benchmark.rs"
[[bin]]
name = "oxcache"
path = "src/main.rs"
[build-dependencies.anyhow]
optional = true
version = "1.0"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.bincode]
optional = true
version = "1.3"
[dependencies.bloomfilter]
optional = true
version = "2.0.0"
[dependencies.chrono]
default-features = false
features = ["serde", "clock"]
optional = true
version = "0.4"
[dependencies.clap]
default-features = false
features = ["derive"]
optional = true
version = "4.4"
[dependencies.confers]
optional = true
version = "0.1.1"
[dependencies.crc32fast]
optional = true
version = "1.3"
[dependencies.dashmap]
optional = true
version = "6.0"
[dependencies.flate2]
optional = true
version = "1.0"
[dependencies.futures]
optional = true
version = "0.3"
[dependencies.governor]
default-features = false
features = ["std"]
optional = true
version = "0.6"
[dependencies.jemalloc-ctl]
optional = true
version = "0.5"
[dependencies.lazy_static]
version = "1.4"
[dependencies.log]
version = "0.4"
[dependencies.mcp-sdk-rs]
optional = true
version = "0.3.4"
[dependencies.moka]
default-features = false
features = ["future"]
optional = true
version = "0.12"
[dependencies.murmur3]
optional = true
version = "0.5"
[dependencies.once_cell]
version = "1.18"
[dependencies.opentelemetry]
optional = true
version = "0.22"
[dependencies.opentelemetry-otlp]
optional = true
version = "0.15"
[dependencies.opentelemetry_sdk]
optional = true
version = "0.22"
[dependencies.oxcache_macros]
optional = true
version = "0.1.3"
[dependencies.redis]
default-features = false
features = ["aio", "tokio-comp", "cluster-async", "sentinel", "connection-manager", "script"]
optional = true
version = "0.27"
[dependencies.regex]
optional = true
version = "1.10"
[dependencies.sea-orm]
default-features = false
features = ["sqlx-sqlite", "runtime-tokio-rustls", "macros"]
optional = true
version = "1.0.14"
[dependencies.secrecy]
features = ["serde"]
version = "0.8"
[dependencies.serde]
default-features = false
features = ["derive", "alloc"]
optional = true
version = "1.0"
[dependencies.serde_json]
optional = true
version = "1.0"
[dependencies.sqlx]
default-features = false
features = ["sqlite", "runtime-tokio-rustls", "macros", "migrate"]
optional = true
version = "0.8"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
features = ["full"]
version = "1.32"
[dependencies.tokio-util]
optional = true
version = "0.7"
[dependencies.toml]
optional = true
version = "0.8"
[dependencies.tracing]
optional = true
version = "0.1"
[dependencies.tracing-opentelemetry]
optional = true
version = "0.23"
[dependencies.tracing-subscriber]
default-features = false
features = ["env-filter", "fmt"]
optional = true
version = "0.3"
[dependencies.uuid]
features = ["v4"]
version = "1.0"
[dev-dependencies.criterion]
features = ["async_tokio"]
version = "0.5"
[dev-dependencies.ctor]
version = "0.2"
[dev-dependencies.mockall]
version = "0.14.0"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.serial_test]
version = "3.0"
[dev-dependencies.tempfile]
version = "3.8"
[features]
batch-write = ["dep:tokio-util"]
bincode = ["serialization", "dep:bincode"]
bloom-filter = ["dep:bloomfilter", "dep:murmur3"]
cli = ["dep:clap", "dep:dashmap", "dep:tracing", "metrics"]
codegen = ["dep:anyhow"]
compression = ["dep:flate2"]
config-toml = ["dep:toml"]
core = ["minimal", "l2-redis", "futures"]
database = ["dep:sea-orm", "dep:sqlx", "dep:regex"]
default = ["full"]
flate2 = ["dep:flate2"]
full = ["core", "macros", "bloom-filter", "rate-limiting", "wal-recovery", "database", "cli", "full-metrics", "batch-write", "config-toml", "confers", "codegen", "compression", "memory-profiling", "mcp-integration"]
full-metrics = ["metrics", "dep:tracing-opentelemetry", "dep:opentelemetry-otlp"]
l1-moka = ["dep:moka", "dep:dashmap"]
l2-redis = ["dep:redis"]
macros = ["dep:oxcache_macros"]
mcp-integration = ["dep:mcp-sdk-rs"]
memory-profiling = ["dep:jemalloc-ctl"]
metrics = ["opentelemetry", "dep:dashmap"]
minimal = ["l1-moka", "tokio/time", "dep:tracing", "metrics", "serialization", "chrono"]
opentelemetry = ["dep:opentelemetry", "dep:opentelemetry_sdk", "dep:tracing-subscriber"]
rate-limiting = ["dep:governor"]
serialization = ["dep:serde", "dep:serde_json"]
skip_broken = []
sync = []
test = []
wal-recovery = ["dep:crc32fast"]
[lib]
name = "oxcache"
path = "src/lib.rs"
[package]
authors = ["Kirky.X"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["caching", "asynchronous", "database"]
description = "A high-performance multi-level cache library for Rust with L1 (memory) and L2 (Redis) caching."
edition = "2021"
keywords = ["cache", "redis", "memory", "async", "performance"]
license = "MIT"
name = "oxcache"
readme = "README.md"
repository = "https://github.com/kirky-x/oxcache"
version = "0.1.3"
[[test]]
name = "config_test"
path = "tests/config_test.rs"
[[test]]
name = "cross_database_integration_tests"
path = "tests/cross_database_integration_tests.rs"
[[test]]
name = "database_partitioning_tests"
path = "tests/database_partitioning_tests.rs"
[[test]]
name = "database_test_utils"
path = "tests/database_test_utils.rs"
[[test]]
name = "debug_mysql_test"
path = "tests/debug_mysql_test.rs"
[[test]]
name = "feature_combinations"
path = "tests/feature_combinations.rs"
[[test]]
name = "feature_gated_init_test"
path = "tests/feature_gated_init_test.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "l2_backend_test"
path = "tests/l2_backend_test.rs"
[[test]]
name = "layer_test"
path = "tests/layer_test.rs"
[[test]]
name = "memory_leak_test"
path = "tests/memory_leak_test.rs"
[[test]]
name = "memory_tests"
path = "tests/memory_tests.rs"
[[test]]
name = "miri_memory_test"
path = "tests/miri_memory_test.rs"
[[test]]
name = "mock_l2_backend_test"
path = "tests/mock_l2_backend_test.rs"
[[test]]
name = "redis_test_utils"
path = "tests/redis_test_utils.rs"
[[test]]
name = "redis_version_compatibility_test"
path = "tests/redis_version_compatibility_test.rs"
[[test]]
name = "security_tests"
path = "tests/security_tests.rs"
[[test]]
name = "sqlite_connection_test"
path = "tests/sqlite_connection_test.rs"
[[test]]
name = "test_utils"
path = "tests/test_utils.rs"