simple_redis_wrapper/client/
types.rs

1use serde::{Deserialize, Serialize};
2use std::fmt::{Display, Formatter};
3
4#[derive(Serialize, Deserialize, Debug, Clone)]
5pub struct Prefix(pub String);
6#[derive(Serialize, Deserialize, Debug, Clone)]
7pub struct Key(pub String);
8
9#[derive(Serialize, Deserialize, Debug, Clone)]
10pub struct Namespace(pub String);
11
12#[derive(Serialize, Deserialize, Debug, Clone)]
13pub enum EvictionPolicy {
14    NoEviction,
15    AllKeysLRU,
16    AllKeysLFU,
17    AllKeysRandom,
18    VolatileLRU,
19    VolatileLFU,
20    VolatileRandom,
21    VolatileTTL,
22}
23
24impl Default for EvictionPolicy {
25    fn default() -> Self {
26        Self::NoEviction
27    }
28}
29
30impl Display for EvictionPolicy {
31    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
32        match self {
33            Self::NoEviction => write!(f, "noeviction"),
34            Self::AllKeysLRU => write!(f, "allkeys-lru"),
35            Self::AllKeysLFU => write!(f, "allkeys-lfu"),
36            Self::AllKeysRandom => write!(f, "allkeys-random"),
37            Self::VolatileLRU => write!(f, "volatile-lru"),
38            Self::VolatileLFU => write!(f, "volatile-lfu"),
39            Self::VolatileRandom => write!(f, "volatile-random"),
40            Self::VolatileTTL => write!(f, "volatile-ttl"),
41        }
42    }
43}