Skip to main content

Redis

Struct Redis 

Source
pub struct Redis {
    pub id: String,
    pub memory: Option<String>,
    pub eviction_policy: RedisEvictionPolicy,
    pub persistence: bool,
    pub high_availability: bool,
    pub encryption_key: Option<ResourceRef>,
}
Expand description

A managed, Redis-compatible in-memory store on a private network. The target platform decides the backend (AWS ElastiCache for Valkey, GCP Memorystore for Valkey, Azure Managed Redis, or the official Valkey image in Docker on Local). It is never publicly reachable, and it is a single endpoint (not cluster mode), so plain clients and multi-key scripts work.

Fields§

§id: String§memory: Option<String>

Memory available for data (e.g. “512Mi”, “4Gi”). None = the smallest production tier. The smallest tier that fits is used; a request larger than the biggest single-shard tier on the platform is rejected.

§eviction_policy: RedisEvictionPolicy

What happens at the memory limit. Default volatile-lru: keys without a TTL are never evicted.

§persistence: bool

Keep data across a server restart or maintenance. Default false (a cache). On AWS, GCP and Azure this needs high_availability, because the clouds only persist data from a replicated deployment. Local always persists with an append-only file when this is on.

§high_availability: bool

One replica in another zone with automatic failover. Default false.

§encryption_key: Option<ResourceRef>

Customer-managed key for encryption at rest. Cannot be changed after creation.

Implementations§

Source§

impl Redis

Source

pub fn new(id: String) -> RedisBuilder

Create an instance of Redis using the builder syntax

Source§

impl Redis

Source

pub const RESOURCE_TYPE: ResourceType

The resource type identifier for Redis.

Source

pub fn requested_memory_bytes(&self) -> Result<Option<u64>>

Requested memory in bytes, or None for the default tier. Uses the same parser as every other sized resource, so all controllers and emitters read a quantity the same way. A bare number is GiB (as for Postgres).

Source

pub fn elasticache_node_type(&self) -> Result<(&'static str, u64)>

The smallest ElastiCache node type whose usable data memory fits the request, and that usable memory in bytes. Usable memory is 75% of the node’s memory because ElastiCache reserves 25% by default (reserved-memory-percent). With no request the default is 1 GiB. Requests above the largest single-shard node are rejected, never capped.

Source

pub fn memorystore_node_type(&self) -> Result<(&'static str, u64)>

The smallest Memorystore node type whose default usable memory fits the request, and that usable memory in bytes. With no request the default is 1 GiB. Requests above the largest node are rejected, never capped.

Source

pub fn azure_managed_redis_sku(&self) -> Result<(&'static str, u64)>

The smallest Azure Managed Redis SKU whose memory fits the request, and that memory in bytes. With no request the default is 1 GiB. Requests above the largest NoCluster SKU are rejected, never capped.

Source

pub fn id(&self) -> &str

Returns the Redis resource’s unique identifier.

Trait Implementations§

Source§

impl Clone for Redis

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Redis

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Redis

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for Redis

Source§

impl PartialEq for Redis

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl ResourceDefinition for Redis

Source§

fn get_resource_type(&self) -> ResourceType

Returns the resource type for this instance
Source§

fn id(&self) -> &str

Returns the unique identifier for this specific resource instance
Source§

fn replace_after_failed_create_is_safe(&self) -> bool

Whether the executor may delete this resource and create it again when its create failed and its config changed since. Read more
Source§

fn get_dependencies(&self) -> Vec<ResourceRef>

Returns the list of other resources this resource depends on
Source§

fn validate_update(&self, new_config: &dyn ResourceDefinition) -> Result<()>

Validates if an update from the current configuration to a new configuration is allowed
Source§

fn as_any(&self) -> &dyn Any

Provides access to the underlying concrete type for downcasting
Source§

fn as_any_mut(&mut self) -> &mut dyn Any

Provides mutable access to the underlying concrete type for downcasting
Source§

fn box_clone(&self) -> Box<dyn ResourceDefinition>

Creates a boxed clone of this resource definition
Source§

fn resource_eq(&self, other: &dyn ResourceDefinition) -> bool

For equality comparison between resource definitions
Source§

fn to_json_value(&self) -> Result<Value>

Serialize this resource to a JSON value (without the “type” tag - that’s added by Resource)
Source§

fn get_permissions(&self) -> Option<&str>

Returns the permission profile name for this resource, if it has one. Read more
Source§

impl Serialize for Redis

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Redis

Auto Trait Implementations§

§

impl Forget for Redis

§

impl Freeze for Redis

§

impl RefUnwindSafe for Redis

§

impl Send for Redis

§

impl Sync for Redis

§

impl Unpin for Redis

§

impl UnsafeUnpin for Redis

§

impl UnwindSafe for Redis

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more