storage_trait/
storage.rs

1use std::time::Duration;
2
3pub type Err = Box<dyn std::error::Error>;
4
5pub trait Storage<K, V> {
6    fn set(&self, key: K, value: V) -> Result<(), Err>;
7    fn set_ex(&self, key: K, value: V, expire: Duration) -> Result<(), Err>;
8    fn get(&self, key: K) -> Result<Option<V>, Err>;
9    fn del(&self, key: K) -> Result<Option<K>, Err>;
10    fn contains(&self, key: K) -> Result<bool, Err>;
11}