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}