redisson 0.1.0

A Redis-based distributed synchronization and data structures library for Rust
Documentation
[package]
name = "redisson"
version = "0.1.0"
authors = ["mrpan <1049058427@qq.com>"]
edition = "2021"
description = "A Redis-based distributed synchronization and data structures library for Rust"
readme = "README.md"
keywords = ["redis", "distributed", "lock", "synchronization", "redisson"]
categories = ["data-structures", "asynchronous", "database"]
homepage = "https://github.com/wslongchen/redisson.rs"
repository = "https://github.com/wslongchen/redisson.rs"
documentation = "https://docs.rs/redisson"
license = "MIT"

[lib]
path = "src/lib.rs"

[features]
# Synchronous mode (enabled by default)
default = ["sync"]
sync = ["r2d2"]

caching = []

# Asynchronous mode (requires tokio runtime)
async = ["tokio/full", "async-trait", "futures", "deadpool", "tokio-stream"]

# Full features (synchronous + asynchronous + all features)
full = ["sync", "async", "caching"]

[dependencies]
# Redis core dependencies (including base functionality)
redis = { version = "1.0.2", features = ["r2d2", "tokio-comp", "tokio-native-tls-comp", "cluster-async","tls-rustls", "connection-manager","sentinel", "streams", "cluster"] }

# Asynchronous dependent dependencies (conditional compilation)
async-trait = { version = "0.1", optional = true }
futures = { version = "0.3", optional = true }
deadpool = { version = "0.10", features = ["managed", "rt_tokio_1"], optional = true }

# Runtime (conditional compilation)
tokio = { version = "1.0", optional = true, features = ["rt", "sync", "time"] }
tokio-stream = {version = "0.1.18", optional = true}

# Synchronous mode dependencies (conditional compilation)
r2d2 = { version = "0.8", optional = true }

# Core tool library
once_cell = "1.18"
rand = "0.8"
uuid = { version = "1.0", features = ["v4", "serde"] }

# Data structures
bloom = "0.3"
lru = "0.16.3"
parking_lot = "0.12"

# serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

# Error handling
thiserror = "1.0"

# Logging
tracing = { version = "0.1"}

[dev-dependencies]
# Testing dependencies
criterion = { version = "0.8.1", features = ["async", "async_futures"] }
tokio = { version = "1.0", features = ["full"] }

[[bench]]
name = "redisson_benchmark"
harness = false

[[example]]
name = "async_usage"
path = "examples/async_usage.rs"
required-features = ["async"]
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "advanced"
path = "examples/advanced.rs"
[[example]]
name = "batch"
path = "examples/batch.rs"