simple_redis_wrapper/client/
types.rs1use 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}