Cargo Features

[dependencies]
fred = { version = "9.0.1", default-features = false, features = ["transactions", "serde-json", "subscriber-client", "metrics", "mocks", "dns", "enable-rustls", "enable-native-tls", "vendored-openssl", "full-tracing", "partial-tracing", "blocking-encoding", "custom-reconnect-errors", "monitor", "sentinel-client", "sentinel-auth", "replicas", "default-nil-types", "unix-sockets", "i-all", "i-std", "i-acl", "i-client", "i-cluster", "i-config", "i-geo", "i-hashes", "i-hyperloglog", "i-keys", "i-lists", "i-scripts", "i-memory", "i-pubsub", "i-server", "i-sets", "i-slowlog", "i-sorted-sets", "i-streams", "i-tracking", "i-redis-stack", "i-redis-json", "i-time-series", "debug-ids", "network-logs", "sha-1"] }
default = i-std, transactions

These default features are set whenever fred is added without default-features = false somewhere in the dependency tree.

transactions default

Affects transaction::Transaction, interfaces::transactions, transactions::TransactionInterface, router::transactions, utils::cluster_redirect_with_policy, utils::random_u64, utils::read_mutex, utils::set_mutex

serde-json i-redis-json? = serde_json
subscriber-client = i-pubsub
metrics

Affects metrics::MetricsInterface.read_latency_metrics, metrics::MetricsInterface.take_latency_metrics, metrics::MetricsInterface.read_network_latency_metrics, metrics::MetricsInterface.take_network_latency_metrics, metrics::MetricsInterface.read_req_size_metrics, metrics::MetricsInterface.take_req_size_metrics, metrics::MetricsInterface.read_res_size_metrics, metrics::MetricsInterface.take_res_size_metrics, inner::RedisClientInner.latency_stats, inner::RedisClientInner.network_latency_stats, inner::RedisClientInner.req_size_stats, inner::RedisClientInner.res_size_stats, codec::RedisCodec.req_size_stats, codec::RedisCodec.res_size_stats, command::RedisCommand.created

mocks

Affects modules::mocks, utils::mocked_value_to_frame, config::RedisConfig.mocks

dns = trust-dns-resolver

Enables tokio of trust-dns-resolver

Affects interfaces::ClientLike.set_resolver

enable-rustls = rustls, rustls-native-certs, tokio-rustls

Affects utils::tls_config_from_url, cluster::modify_cluster_slot_hostnames, protocol::tls, types::Server.tls_server_name, config::RedisConfig.tls, config::SentinelConfig.tls, utils::check_tls_features, utils::tls_config_from_url, replicas::map_replica_tls_names

enable-native-tls vendored-openssl? = native-tls, tokio-native-tls

Affects utils::tls_config_from_url, cluster::modify_cluster_slot_hostnames, protocol::tls, types::Server.tls_server_name, config::RedisConfig.tls, config::SentinelConfig.tls, utils::check_tls_features, utils::tls_config_from_url, replicas::map_replica_tls_names

vendored-openssl = enable-native-tls

Enables vendored of native-tls

full-tracing = partial-tracing

Affects enabled::CommandTraces.queued, enabled::create_args_span, enabled::create_queued_span, enabled::create_pubsub_span, config::TracingConfig.full_tracing_level, utils::request_response, utils::arg_size, utils::args_size

partial-tracing full-tracing? = tracing, tracing-futures

Affects command::RedisCommand.traces, config::RedisConfig.tracing, config::TracingConfig, config::SentinelConfig.tracing, utils::request_response, utils::arg_size, utils::args_size

blocking-encoding

Enables tokio

Affects config::PerformanceConfig.blocking_encode_threshold, utils::arg_size, utils::args_size

custom-reconnect-errors

Affects config::ReconnectError, config::ConnectionConfig.reconnect_errors

monitor = nom

Affects fred::monitor

sentinel-client

Affects impls::sentinel, interfaces::sentinel, config::SentinelConfig, misc::SentinelFailureKind

sentinel-auth

Affects utils::parse_url_sentinel_username, utils::parse_url_sentinel_password

replicas

Affects inner::ServerState.replicas, connection::request_response, types::SlotRange.replicas, utils::parse_master_role_replicas, router::Router.replicas, replicas::ReplicaFilter, replicas::ReplicaConfig, replicas::ReplicaRouter, replicas::ReplicaSet, replicas::Replicas, replicas::map_replica_tls_names, responses::broadcast_replica_error, utils::sync_replicas_with_policy, config::ConnectionConfig.replica, replicas::map_replica_tls_names

default-nil-types
unix-sockets

Affects utils::path_to_string

i-all = i-acl, i-client, i-cluster, i-config, i-geo, i-hashes, i-hyperloglog, i-keys, i-lists, i-memory, i-pubsub, i-scripts, i-server, i-sets, i-slowlog, i-sorted-sets, i-streams, i-tracking

Standard Redis Interfaces

i-std default = i-hashes, i-keys, i-lists, i-pubsub, i-server, i-sets, i-sorted-sets, i-streams
i-acl i-all?

Affects impls::acl, interfaces::acl

i-client i-all? i-tracking?

Affects impls::client, interfaces::client

i-cluster i-all?

Affects impls::cluster, interfaces::cluster

i-config i-all?

Affects impls::config, interfaces::config

i-geo i-all? = i-sorted-sets

Affects impls::geo, interfaces::geo, utils::assert_array_len, utils::f64_opt_eq, impls::CHANGED

i-hashes i-all? i-std

Affects impls::hashes, interfaces::hashes, utils::flatten_frame, utils::frame_to_map

i-hyperloglog i-all?

Affects impls::hyperloglog, interfaces::hyperloglog

i-keys i-all? i-std

Affects impls::keys, interfaces::keys

i-lists i-all? i-std

Affects impls::lists, interfaces::lists, utils::check_null_timeout, impls::LIMIT

i-scripts i-all?

Affects impls::lua, interfaces::lua, utils::value_to_functions

i-memory i-all?

Affects impls::memory, interfaces::memory, misc::DatabaseMemoryStats, misc::MemoryStats, utils::convert_or_default

i-pubsub i-all? i-std i-tracking? subscriber-client?

Affects impls::pubsub, interfaces::pubsub

i-server i-all? i-std

Affects server::failover, server::wait, interfaces::server, interfaces::ClientLike.shutdown

i-sets i-all? i-std

Affects impls::sets, interfaces::sets

i-slowlog i-all?

Affects impls::slowlog, interfaces::slowlog

i-sorted-sets i-all? i-geo? i-std

Affects impls::sorted_sets, interfaces::sorted_sets, utils::f64_to_zrange_bound, utils::check_lex_str, impls::CHANGED, utils::check_null_timeout, impls::LIMIT

i-streams i-all? i-std

Affects impls::streams, interfaces::streams, impls::LIMIT

i-tracking i-all? = i-client, i-pubsub

Affects impls::tracking, client::ClientInterface.client_tracking, client::ClientInterface.client_trackinginfo, client::ClientInterface.client_getredir, client::ClientInterface.client_caching, interfaces::tracking, inner::Notifications.invalidations, command::RedisCommand.caching, client::Toggle, client::Invalidation, config::Options.caching

i-redis-stack = i-redis-json, i-time-series

Redis Stack Interfaces

i-redis-json i-redis-stack? = serde-json

Affects impls::redis_json, interfaces::redis_json

i-time-series i-redis-stack?

Affects impls::timeseries, interfaces::timeseries

debug-ids

Debugging Features

Affects command::command_counter, command::RedisCommand.counter

network-logs

Affects protocol::debug

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

sha-1 implicit feature

Enables sha-1

sha-1:

SHA-1 hash function. This crate is deprecated! Use the sha1 crate instead.

Affects lua::script_load_cluster, lua::LuaInterface.script_load_cluster, fred::util.sha1_hash

rustls enable-rustls?
native-tls enable-native-tls? vendored-openssl?
tokio-native-tls enable-native-tls?
tracing partial-tracing?
tracing-futures partial-tracing?
nom monitor?
serde_json serde-json?
tokio-rustls enable-rustls?
rustls-native-certs enable-rustls?
trust-dns-resolver dns?