[package]
edition = "2024"
rust-version = "1.85"
name = "redis"
version = "1.0.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Redis driver for Rust."
homepage = "https://github.com/redis-rs/redis-rs"
documentation = "https://docs.rs/redis"
readme = "README.md"
keywords = [
"redis",
"valkey",
"cluster",
"sentinel",
"pubsub",
]
license = "BSD-3-Clause"
repository = "https://github.com/redis-rs/redis-rs"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
acl = []
aio = [
"bytes",
"dep:pin-project-lite",
"dep:futures-util",
"dep:tokio",
"dep:tokio-util",
"tokio-util/codec",
"combine/tokio",
"dep:cfg-if",
]
bb8 = ["dep:bb8"]
cache-aio = [
"aio",
"dep:lru",
]
cluster = [
"dep:crc16",
"dep:rand",
]
cluster-async = [
"aio",
"cluster",
"dep:log",
]
connection-manager = [
"dep:arc-swap",
"dep:futures-channel",
"aio",
"dep:backon",
]
default = [
"acl",
"streams",
"geospatial",
"script",
"num-bigint",
]
geospatial = []
json = [
"dep:serde",
"serde/derive",
"dep:serde_json",
]
num-bigint = ["dep:num-bigint"]
r2d2 = ["dep:r2d2"]
script = ["dep:sha1_smol"]
sentinel = ["dep:rand"]
smol-comp = [
"aio",
"dep:smol",
"dep:smol-timeout",
"dep:async-io",
]
smol-native-tls-comp = [
"smol-comp",
"dep:async-native-tls",
"tls-native-tls",
]
smol-rustls-comp = [
"smol-comp",
"dep:futures-rustls",
"tls-rustls",
]
streams = []
tls-native-tls = ["dep:native-tls"]
tls-rustls = [
"dep:rustls",
"rustls/std",
"dep:rustls-native-certs",
]
tls-rustls-insecure = ["tls-rustls"]
tls-rustls-webpki-roots = [
"tls-rustls",
"dep:webpki-roots",
]
tokio-comp = [
"aio",
"tokio/net",
]
tokio-native-tls-comp = [
"tokio-comp",
"tls-native-tls",
"dep:tokio-native-tls",
]
tokio-rustls-comp = [
"tokio-comp",
"tls-rustls",
"dep:tokio-rustls",
]
vector-sets = [
"dep:serde",
"serde/derive",
"dep:serde_json",
]
[lib]
name = "redis"
path = "src/lib.rs"
bench = false
[[example]]
name = "acl"
path = "examples/acl.rs"
required-features = ["acl"]
[[example]]
name = "async-await"
path = "examples/async-await.rs"
required-features = ["aio"]
[[example]]
name = "async-caching"
path = "examples/async-caching.rs"
required-features = [
"tokio-comp",
"cache-aio",
]
[[example]]
name = "async-connection-loss"
path = "examples/async-connection-loss.rs"
required-features = ["connection-manager"]
[[example]]
name = "async-multiplexed"
path = "examples/async-multiplexed.rs"
required-features = ["tokio-comp"]
[[example]]
name = "async-resp2-pub-sub"
path = "examples/async-resp2-pub-sub.rs"
required-features = ["aio"]
[[example]]
name = "async-resp3-pub-sub"
path = "examples/async-resp3-pub-sub.rs"
required-features = [
"aio",
"connection-manager",
]
[[example]]
name = "async-scan"
path = "examples/async-scan.rs"
required-features = ["aio"]
[[example]]
name = "async-typed"
path = "examples/async-typed.rs"
required-features = ["aio"]
[[example]]
name = "basic"
path = "examples/basic.rs"
[[example]]
name = "geospatial"
path = "examples/geospatial.rs"
[[example]]
name = "streams"
path = "examples/streams.rs"
required-features = ["streams"]
[[example]]
name = "typed"
path = "examples/typed.rs"
[[test]]
name = "parser"
path = "tests/parser.rs"
required-features = ["aio"]
[[test]]
name = "test_acl"
path = "tests/test_acl.rs"
[[test]]
name = "test_async"
path = "tests/test_async.rs"
required-features = ["tokio-comp"]
[[test]]
name = "test_basic"
path = "tests/test_basic.rs"
[[test]]
name = "test_bignum"
path = "tests/test_bignum.rs"
[[test]]
name = "test_cache"
path = "tests/test_cache.rs"
[[test]]
name = "test_cluster"
path = "tests/test_cluster.rs"
[[test]]
name = "test_cluster_async"
path = "tests/test_cluster_async.rs"
required-features = ["cluster-async"]
[[test]]
name = "test_digest_utils"
path = "tests/test_digest_utils.rs"
[[test]]
name = "test_geospatial"
path = "tests/test_geospatial.rs"
[[test]]
name = "test_module_json"
path = "tests/test_module_json.rs"
required-features = [
"json",
"serde/derive",
]
[[test]]
name = "test_script"
path = "tests/test_script.rs"
required-features = ["script"]
[[test]]
name = "test_sentinel"
path = "tests/test_sentinel.rs"
[[test]]
name = "test_streams"
path = "tests/test_streams.rs"
[[test]]
name = "test_types"
path = "tests/test_types.rs"
[[bench]]
name = "bench_basic"
path = "benches/bench_basic.rs"
harness = false
required-features = ["tokio-comp"]
[[bench]]
name = "bench_cache"
path = "benches/bench_cache.rs"
harness = false
required-features = [
"tokio-comp",
"cache-aio",
]
[[bench]]
name = "bench_cluster"
path = "benches/bench_cluster.rs"
harness = false
required-features = ["cluster"]
[[bench]]
name = "bench_cluster_async"
path = "benches/bench_cluster_async.rs"
harness = false
required-features = [
"cluster-async",
"tokio-comp",
]
[dependencies.ahash]
version = "0.8.11"
optional = true
[dependencies.arc-swap]
version = "1.8.0"
optional = true
[dependencies.arcstr]
version = "1.2.0"
[dependencies.async-io]
version = "2"
optional = true
[dependencies.async-native-tls]
version = "0.5"
optional = true
[dependencies.backon]
version = "1.6.0"
optional = true
default-features = false
[dependencies.bb8]
version = "0.9.1"
optional = true
[dependencies.bigdecimal]
version = "0.4.10"
optional = true
[dependencies.bytes]
version = "1"
optional = true
[dependencies.cfg-if]
version = "1"
optional = true
[dependencies.combine]
version = "4.6"
features = ["std"]
default-features = false
[dependencies.crc16]
version = "0.4"
optional = true
[dependencies.futures-channel]
version = "0.3.31"
optional = true
[dependencies.futures-rustls]
version = "0.26"
optional = true
default-features = false
[dependencies.futures-util]
version = "0.3.31"
features = [
"std",
"sink",
]
optional = true
default-features = false
[dependencies.hashbrown]
version = "0.16"
optional = true
[dependencies.itoa]
version = "1.0"
[dependencies.log]
version = "0.4"
optional = true
[dependencies.lru]
version = "0.16"
optional = true
[dependencies.native-tls]
version = "0.2"
optional = true
[dependencies.num-bigint]
version = "0.4.6"
optional = true
[dependencies.percent-encoding]
version = "2.3"
[dependencies.pin-project-lite]
version = "0.2"
optional = true
[dependencies.r2d2]
version = "0.8.10"
optional = true
[dependencies.rand]
version = "0.9"
optional = true
[dependencies.rust_decimal]
version = "1.39.0"
optional = true
[dependencies.rustls]
version = "0.23"
optional = true
default-features = false
[dependencies.rustls-native-certs]
version = "0.8"
optional = true
[dependencies.ryu]
version = "1.0"
[dependencies.serde]
version = "1.0.219"
optional = true
[dependencies.serde_json]
version = "1.0.148"
optional = true
[dependencies.sha1_smol]
version = "1.0"
optional = true
[dependencies.smol]
version = "2"
optional = true
[dependencies.smol-timeout]
version = "0.6"
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt",
"net",
"time",
"sync",
]
optional = true
[dependencies.tokio-native-tls]
version = "0.3"
optional = true
[dependencies.tokio-rustls]
version = "0.26"
optional = true
default-features = false
[dependencies.tokio-util]
version = "0.7"
optional = true
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1.18.1"
optional = true
[dependencies.webpki-roots]
version = "1.0"
optional = true
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dev-dependencies.anyhow]
version = "1"
[dev-dependencies.assert_approx_eq]
version = "1.0"
[dev-dependencies.criterion]
version = "0.7"
[dev-dependencies.fnv]
version = "1.0.5"
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.futures-time]
version = "3"
[dev-dependencies.partial-io]
version = "0.5"
features = [
"tokio",
"quickcheck1",
]
[dev-dependencies.quickcheck]
version = "1.0.3"
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.rstest]
version = "0.26"
[dev-dependencies.rustls]
version = "0.23"
features = ["ring"]
[dev-dependencies.tempfile]
version = "3.24.0"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"macros",
"rt-multi-thread",
"test-util",
"time",
]
[target.'cfg(not(target_family = "wasm"))'.dependencies.socket2]
version = "0.6"
features = ["all"]