[package]
name = "redis"
version = "0.25.4"
keywords = ["redis", "database"]
description = "Redis driver for Rust."
homepage = "https://github.com/redis-rs/redis-rs"
repository = "https://github.com/redis-rs/redis-rs"
documentation = "https://docs.rs/redis"
license = "BSD-3-Clause"
edition = "2021"
rust-version = "1.65"
readme = "../README.md"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lib]
bench = false
[dependencies]
ryu = "1.0"
itoa = "1.0"
percent-encoding = "2.1"
url = "2.1"
sha1_smol = { version = "1.0", optional = true }
combine = { version = "4.6", default-features = false, features = ["std"] }
bytes = { version = "1", optional = true }
futures-util = { version = "0.3.15", default-features = false, optional = true }
pin-project-lite = { version = "0.2", optional = true }
tokio-util = { version = "0.7", optional = true }
tokio = { version = "1", features = ["rt", "net", "time"], optional = true }
socket2 = { version = "0.5", default-features = false, optional = true }
arc-swap = { version = "1.1.0", optional = true }
futures = { version = "0.3.3", optional = true }
tokio-retry = { version = "0.3.0", optional = true }
r2d2 = { version = "0.8.8", optional = true }
crc16 = { version = "0.4", optional = true }
rand = { version = "0.8", optional = true }
async-std = { version = "1.8.0", optional = true }
async-trait = { version = "0.1.24", optional = true }
native-tls = { version = "0.2", optional = true }
tokio-native-tls = { version = "0.3", optional = true }
async-native-tls = { version = "0.4", optional = true }
rustls = { version = "0.22", optional = true }
webpki-roots = { version = "0.26", optional = true }
rustls-native-certs = { version = "0.7", optional = true }
tokio-rustls = { version = "0.25", optional = true }
futures-rustls = { version = "0.25", optional = true }
rustls-pemfile = { version = "2", optional = true }
rustls-pki-types = { version = "1", optional = true }
serde = { version = "1.0.82", optional = true }
serde_json = { version = "1.0.82", optional = true }
rust_decimal = { version = "1.33.1", optional = true }
bigdecimal = { version = "0.4.2", optional = true }
num-bigint = { version = "0.4.4", optional = true }
ahash = { version = "0.8.6", optional = true }
log = { version = "0.4", optional = true }
uuid = { version = "1.6.1", optional = true }
[features]
default = ["acl", "streams", "geospatial", "script", "keep-alive"]
acl = []
aio = ["bytes", "pin-project-lite", "futures-util", "futures-util/alloc", "futures-util/sink", "tokio/io-util", "tokio-util", "tokio-util/codec", "tokio/sync", "combine/tokio", "async-trait"]
geospatial = []
json = ["serde", "serde/derive", "serde_json"]
cluster = ["crc16", "rand"]
script = ["sha1_smol"]
tls-native-tls = ["native-tls"]
tls-rustls = ["rustls", "rustls-native-certs", "rustls-pemfile", "rustls-pki-types"]
tls-rustls-insecure = ["tls-rustls"]
tls-rustls-webpki-roots = ["tls-rustls", "webpki-roots"]
async-std-comp = ["aio", "async-std"]
async-std-native-tls-comp = ["async-std-comp", "async-native-tls", "tls-native-tls"]
async-std-rustls-comp = ["async-std-comp", "futures-rustls", "tls-rustls"]
tokio-comp = ["aio", "tokio", "tokio/net"]
tokio-native-tls-comp = ["tokio-comp", "tls-native-tls", "tokio-native-tls"]
tokio-rustls-comp = ["tokio-comp", "tls-rustls", "tokio-rustls"]
connection-manager = ["arc-swap", "futures", "aio", "tokio-retry"]
streams = []
cluster-async = ["cluster", "futures", "futures-util", "log"]
keep-alive = ["socket2"]
sentinel = ["rand"]
tcp_nodelay = []
rust_decimal = ["dep:rust_decimal"]
bigdecimal = ["dep:bigdecimal"]
num-bigint = ["dep:num-bigint"]
uuid = ["dep:uuid"]
disable-client-setinfo = []
tls = ["tls-native-tls"]
async-std-tls-comp = ["async-std-native-tls-comp"]
[dev-dependencies]
rand = "0.8"
socket2 = "0.5"
assert_approx_eq = "1.0"
fnv = "1.0.5"
futures = "0.3"
futures-time = "3"
criterion = "0.4"
partial-io = { version = "0.5", features = ["tokio", "quickcheck1"] }
quickcheck = "1.0.3"
tokio = { version = "1", features = ["rt", "macros", "rt-multi-thread", "time"] }
tempfile = "=3.6.0"
once_cell = "1"
anyhow = "1"
[[test]]
name = "test_async"
required-features = ["tokio-comp"]
[[test]]
name = "test_async_async_std"
required-features = ["async-std-comp"]
[[test]]
name = "parser"
required-features = ["aio"]
[[test]]
name = "test_acl"
[[test]]
name = "test_module_json"
required-features = ["json", "serde/derive"]
[[test]]
name = "test_cluster_async"
required-features = ["cluster-async"]
[[test]]
name = "test_bignum"
[[bench]]
name = "bench_basic"
harness = false
required-features = ["tokio-comp"]
[[bench]]
name = "bench_cluster"
harness = false
required-features = ["cluster"]
[[bench]]
name = "bench_cluster_async"
harness = false
required-features = ["cluster-async", "tokio-comp"]
[[example]]
name = "async-multiplexed"
required-features = ["tokio-comp"]
[[example]]
name = "async-await"
required-features = ["aio"]
[[example]]
name = "async-pub-sub"
required-features = ["aio"]
[[example]]
name = "async-scan"
required-features = ["aio"]
[[example]]
name = "async-connection-loss"
required-features = ["connection-manager"]
[[example]]
name = "streams"
required-features = ["streams"]