1. 程式人生 > >C# 操作redis

C# 操作redis

max timeout cep != times str split bsp true

首頁下載 redis windows 版本 官網目前沒有windows安裝下載,下載地址為

https://github.com/MicrosoftArchive/redis/releases

技術分享圖片

直接點擊安裝 一直下一步

我的安裝路徑 D:\Program Files\Redis

技術分享圖片

啟動命令行工具 測試redis

技術分享圖片

C# 連接redis 在項目類庫引用上右鍵啟動NuGet 搜索redis 安裝以下二個框架

技術分享圖片

redis工具類

技術分享圖片
public class RedisCacheHelper
    {
        private static readonly PooledRedisClientManager pool = null
; private static readonly string[] redisHosts = null; public static int RedisMaxReadPool = 3; public static int RedisMaxWritePool = 1; static RedisCacheHelper() { var redisHostStr = "127.0.0.1:6379"; if (!string.IsNullOrEmpty(redisHostStr)) { redisHosts
= redisHostStr.Split(,); if (redisHosts.Length > 0) { pool = new PooledRedisClientManager(redisHosts, redisHosts, new RedisClientManagerConfig() { MaxWritePoolSize = RedisMaxWritePool, MaxReadPoolSize
= RedisMaxReadPool, AutoStart = true }); } } } #region Add public static void Add<T>(string key, T value, DateTime expiry) { if (value == null) { return; } if (expiry <= DateTime.Now) { Remove(key); return; } try { if (pool != null) { using (var r = pool.GetClient()) { if (r != null) { r.SendTimeout = 1000; r.Set(key, value, expiry - DateTime.Now); } } } } catch (Exception ex) { string msg = string.Format("{0}:{1}發生異常!{2}", "cache", "存儲", key); } } public static void Add<T>(string key, T value, TimeSpan slidingExpiration) { if (value == null) { return; } if (slidingExpiration.TotalSeconds <= 0) { Remove(key); return; } try { if (pool != null) { using (var r = pool.GetClient()) { if (r != null) { r.SendTimeout = 1000; r.Set(key, value, slidingExpiration); } } } } catch (Exception ex) { string msg = string.Format("{0}:{1}發生異常!{2}", "cache", "存儲", key); } } public static T Get<T>(string key) { if (string.IsNullOrEmpty(key)) { return default(T); } T obj = default(T); try { if (pool != null) { using (var r = pool.GetClient()) { if (r != null) { r.SendTimeout = 1000; obj = r.Get<T>(key); } } } } catch (Exception ex) { string msg = string.Format("{0}:{1}發生異常!{2}", "cache", "獲取", key); } return obj; } #endregion public static void Remove(string key) { try { if (pool != null) { using (var r = pool.GetClient()) { if (r != null) { r.SendTimeout = 1000; r.Remove(key); } } } } catch (Exception ex) { string msg = string.Format("{0}:{1}發生異常!{2}", "cache", "刪除", key); } } public static bool Exists(string key) { try { if (pool != null) { using (var r = pool.GetClient()) { if (r != null) { r.SendTimeout = 1000; return r.ContainsKey(key); } } } } catch (Exception ex) { string msg = string.Format("{0}:{1}發生異常!{2}", "cache", "是否存在", key); } return false; } }
View Code

測試操作

技術分享圖片

測試

技術分享圖片

C# 操作redis