1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
//! //! Wrapper around redis server to easy manipulate cached data //! //! ### Example //! ```ignore //! use db::cache::Cache; //! use redis::*; //! //! let mut cache = Cache::new().expect("Can't connect to redis server"); //! //! // set key-value //! let () = cache.conn.set("my_key", 42).unwrap(); //! //! // get key-value, key exists. //! let value: Option<usize> = cache.conn.get("my_key").unwrap(); // Some(42) //! //! // get key-value, key does not exist //! let value: Option<usize> = cache.conn.get("other_key").unwrap(); // None //! ``` //! use redis::{Connection, RedisResult}; /// default address for redis server pub static REDIS_SERVER: &'static str = "redis://127.0.0.1"; /// main wrapper around redis::Connection pub struct Cache; impl Cache { /// create new connection to cache server using custom uri pub fn new_with_uri<'a>(uri: &'a str) -> RedisResult<Connection> { let client = redis::Client::open(uri)?; let conn = client.get_connection()?; Ok(conn) } /// create new connection to cache server using default uri pub fn new() -> RedisResult<Connection> { let client = redis::Client::open(REDIS_SERVER)?; let conn = client.get_connection()?; Ok(conn) } }