[package]
edition = "2024"
name = "rustis"
version = "0.19.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Redis async driver for Rust"
homepage = "https://github.com/dahomey-technologies/rustis"
documentation = "https://docs.rs/rustis"
readme = "README.md"
keywords = [
"redis",
"database",
"async",
"cluster",
"sentinel",
]
categories = [
"database",
"asynchronous",
]
license-file = "LICENSE"
repository = "https://github.com/dahomey-technologies/rustis"
[package.metadata.docs.rs]
features = [
"tokio-runtime",
"tokio-rustls",
"pool",
"json",
"client-cache",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
async-std-native-tls = [
"dep:async-native-tls",
"native-tls",
]
async-std-runtime = [
"dep:async-std",
"async-std/attributes",
"tokio-util/compat",
]
bench = [
"dep:criterion",
"dep:fred",
"dep:redis",
]
client-cache = [
"dep:moka",
"dep:dashmap",
]
default = ["tokio-runtime"]
json = ["dep:serde_json"]
native-tls = ["dep:native-tls"]
pool = ["dep:bb8"]
rustls = ["dep:rustls"]
tokio-native-tls = [
"dep:tokio-native-tls",
"native-tls",
]
tokio-runtime = [
"tokio/macros",
"tokio/net",
"tokio/rt",
"tokio/io-util",
]
tokio-rustls = [
"dep:tokio-rustls",
"dep:webpki-roots",
"rustls",
]
web-examples = [
"dep:axum",
"dep:actix-web",
]
[lib]
name = "rustis"
path = "src/lib.rs"
[[example]]
name = "actix_crud"
path = "examples/actix_crud.rs"
required-features = ["web-examples"]
[[example]]
name = "actix_long_polling_pubsub"
path = "examples/actix_long_polling_pubsub.rs"
required-features = ["web-examples"]
[[example]]
name = "axum_crud"
path = "examples/axum_crud.rs"
required-features = ["web-examples"]
[[example]]
name = "axum_long_polling_pubsub"
path = "examples/axum_long_polling_pubsub.rs"
required-features = ["web-examples"]
[[example]]
name = "cbor"
path = "examples/cbor.rs"
[[example]]
name = "loop"
path = "examples/loop.rs"
[[example]]
name = "resp_profiling"
path = "examples/resp_profiling.rs"
[[example]]
name = "simple"
path = "examples/simple.rs"
[[bench]]
name = "fast_path"
path = "benches/fast_path.rs"
harness = false
required-features = ["bench"]
[[bench]]
name = "generic_api"
path = "benches/generic_api.rs"
harness = false
required-features = ["bench"]
[[bench]]
name = "large_array_parsing"
path = "benches/large_array_parsing.rs"
harness = false
required-features = ["bench"]
[[bench]]
name = "multiplexer"
path = "benches/multiplexer.rs"
harness = false
required-features = ["bench"]
[[bench]]
name = "native_api"
path = "benches/native_api.rs"
harness = false
required-features = ["bench"]
[[bench]]
name = "parse_integer"
path = "benches/parse_integer.rs"
harness = false
required-features = ["bench"]
[[bench]]
name = "pipeline"
path = "benches/pipeline.rs"
harness = false
required-features = ["bench"]
[dependencies.actix-web]
version = "4.12"
optional = true
[dependencies.async-native-tls]
version = "0.5"
optional = true
[dependencies.async-std]
version = "1.13"
features = ["attributes"]
optional = true
[dependencies.atoi]
version = "2.0"
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.bb8]
version = "0.9"
optional = true
[dependencies.bytes]
version = "1.11"
features = ["serde"]
[dependencies.crc16]
version = "0.4"
[dependencies.criterion]
version = "0.8"
features = ["async_tokio"]
optional = true
[dependencies.dashmap]
version = "6.1"
optional = true
[dependencies.dtoa]
version = "1.0"
[dependencies.fast-float2]
version = "0.2"
[dependencies.fred]
version = "10.1"
optional = true
[dependencies.futures-channel]
version = "0.3"
features = ["sink"]
[dependencies.futures-util]
version = "0.3"
features = [
"sink",
"io",
]
[dependencies.itoa]
version = "1.0"
[dependencies.log]
version = "0.4"
[dependencies.memchr]
version = "2.7"
[dependencies.moka]
version = "0.12"
features = ["future"]
optional = true
[dependencies.native-tls]
version = "0.2"
optional = true
[dependencies.rand]
version = "0.9"
[dependencies.redis]
version = "1.0"
features = [
"aio",
"tokio-comp",
]
optional = true
[dependencies.rustls]
version = "0.23"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.smallvec]
version = "1.15"
features = [
"union",
"serde",
]
[dependencies.socket2]
version = "0.6"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.49"
features = [
"time",
"io-util",
"sync",
]
[dependencies.tokio-native-tls]
version = "0.3"
optional = true
[dependencies.tokio-rustls]
version = "0.26"
optional = true
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dependencies.url]
version = "2.5"
[dependencies.webpki-roots]
version = "1.0"
optional = true
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.rustls-pemfile]
version = "2.2"
[dev-dependencies.serial_test]
version = "3.3"
[dev-dependencies.smallvec]
version = "1.15"
features = ["serde"]
[dev-dependencies.tokio]
version = "1.49"
features = ["rt-multi-thread"]
[profile.bench]
opt-level = 3
lto = "fat"
codegen-units = 1
[profile.dev]
opt-level = 0
debug = 2
debug-assertions = true
overflow-checks = true