[[bench]]
harness = false
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"
[dependencies.ahash]
version = "0.8.12"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.chrono]
features = ["serde"]
version = "0.4"
[dependencies.clap]
features = ["derive"]
version = "4.4"
[dependencies.dashmap]
version = "6.0"
[dependencies.flate2]
optional = true
version = "1.0"
[dependencies.futures]
version = "0.3"
[dependencies.jemalloc-ctl]
optional = true
version = "0.5"
[dependencies.lazy_static]
version = "1.4"
[dependencies.mcp-sdk-rs]
version = "0.3.4"
[dependencies.moka]
features = ["future"]
version = "0.12"
[dependencies.murmur3]
version = "0.5"
[dependencies.opentelemetry]
version = "0.22"
[dependencies.opentelemetry-otlp]
version = "0.15"
[dependencies.opentelemetry_sdk]
features = ["rt-tokio"]
version = "0.22"
[dependencies.redis]
features = ["tokio-comp", "cluster-async", "sentinel", "connection-manager"]
version = "0.27"
[dependencies.regex]
version = "1.10"
[dependencies.sea-orm]
default-features = false
features = ["sqlx-postgres", "sqlx-mysql", "sqlx-sqlite", "runtime-tokio-rustls"]
version = "1.0.14"
[dependencies.secrecy]
features = ["serde"]
version = "0.10.3"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
optional = true
version = "1.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
features = ["full"]
version = "1.42"
[dependencies.tokio-util]
version = "0.7"
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-opentelemetry]
version = "0.23"
[dependencies.tracing-subscriber]
features = ["env-filter"]
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"
[[example]]
name = "comprehensive_stress_test"
path = "examples/comprehensive_stress_test.rs"
[[example]]
name = "comprehensive_usage"
path = "examples/comprehensive_usage.rs"
[[example]]
name = "database_partitioning"
path = "examples/database_partitioning.rs"
[[example]]
name = "redis_mode_validator"
path = "examples/redis_mode_validator.rs"
[[example]]
name = "security_acceptance_test"
path = "examples/security_acceptance_test.rs"
[[example]]
name = "stress_test"
path = "examples/stress_test.rs"
[[example]]
name = "uat_stress_test"
path = "examples/uat_stress_test.rs"
[features]
default = ["full"]
full = ["tokio/full", "serde/derive", "serde_json", "flate2"]
macros = []
memory-profiling = ["jemalloc-ctl"]
[lib]
name = "oxcache"
path = "src/lib.rs"
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["caching"]
description = "A high-performance, production-ready Rust multi-level cache library providing L1 (Moka) and L2 (Redis) caching."
documentation = "https://docs.rs/oxcache"
edition = "2021"
homepage = "https://github.com/Kirky-X/oxcache"
keywords = ["cache", "redis", "moka", "distributed-cache", "two-level-cache"]
license = "MIT"
name = "oxcache"
readme = "README.md"
repository = "https://github.com/Kirky-X/oxcache"
rust-version = "1.75"
version = "0.1.2"
[package.metadata.cargo-machete]
ignored = ["macros"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[profile.bench]
codegen-units = 1
lto = "fat"
opt-level = 3
[profile.dev]
debug = 2
[profile.release]
codegen-units = 1
lto = "fat"
opt-level = 3
overflow-checks = false
panic = "abort"
strip = true
[profile.test]
opt-level = 0
[[test]]
name = "chaos_test"
path = "tests/integration/chaos_test.rs"
[[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 = "degradation_tests"
path = "tests/integration/degradation_tests.rs"
[[test]]
name = "invalidation_test"
path = "tests/integration/invalidation_test.rs"
[[test]]
name = "l2_backend_test"
path = "tests/l2_backend_test.rs"
[[test]]
name = "layer_test"
path = "tests/layer_test.rs"
[[test]]
name = "lifecycle_test"
path = "tests/integration/lifecycle_test.rs"
[[test]]
name = "lock_warmup_test"
path = "tests/integration/lock_warmup_test.rs"
[[test]]
name = "manual_control_test"
path = "tests/integration/manual_control_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"
path = "tests/integration/redis_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 = "sea_orm_sqlite_tests"
path = "tests/integration/sea_orm_sqlite_tests.rs"
[[test]]
name = "security_test"
path = "tests/integration/security_test.rs"
[[test]]
name = "security_tests"
path = "tests/security_tests.rs"
[[test]]
name = "single_flight_test"
path = "tests/integration/single_flight_test.rs"
[[test]]
name = "sqlite_connection_test"
path = "tests/sqlite_connection_test.rs"
[[test]]
name = "sqlite_partition_tests"
path = "tests/integration/sqlite_partition_tests.rs"
[[test]]
name = "test_utils"
path = "tests/test_utils.rs"
[[test]]
name = "version_test"
path = "tests/integration/version_test.rs"