亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

高性能文件緩存key-value存儲—Redis

2019-11-14 13:46:25
字體:
來源:轉載
供稿:網友

  1.高性能文件緩存key-value存儲-Memcached

  2.asp.net HttPRuntime.Cache緩存類使用總結

  備注:三篇博文結合閱讀,簡單理解并且使用,如果想深入學習,請多參考文章中給出的博文地址。

1.前言

  a.Redis是一個開源,先進的key-value(鍵/值對)存儲,并且勇于構建高性能,可擴展的Web應用程序的完美解決方案

  b.Redis和Memcached的對比

    b.1 Redis數據庫完全在內存中,使用磁盤僅用于持久性

    b.2 相比較許多鍵值對存儲,redis擁有更加豐富的數據類型,Redis提供的五種數據類型: strings、map、 list、sets、 sorted sets

    b.3 Redis可以將數據復制到任意數量的從服務器

  c.Redis擁有的優勢

    c.1 Redis的執行響應速度非???/span>

    c.2 支持豐富的數據類型

    c.3 原子性,保證了如果兩個客戶端同事訪問的Redis服務器將獲得更新后的值

    c.4 多功能實用工具,Redis是一個多實用的工具,可以在多個用例如緩存,消息,隊列實用,任何短暫的數據,應用程序。

  d.Github下載地址:https://github.com/kencery/Common/tree/master/KenceryCommonMethod/%E7%BC%93%E5%AD%98

  e.Redis學習:http://www.redis.io/

2.代碼展示

  1 // 源文件頭信息:  2 // <copyright file="RedisHelper.cs">  3 // Copyright(c)2014-2034 Kencery.All rights reserved.  4 // 個人博客:http://www.49028c.com/hanyinglong  5 // 創建人:韓迎龍(kencery)  6 // 創建時間:2015-8-18  7 // </copyright>  8   9 using System; 10 using System.Collections.Generic; 11 using System.Configuration; 12 using ServiceStack.Redis; 13  14 namespace KenceryCommonMethod 15 { 16     /// <summary> 17     /// Redis緩存讀取設置  封裝 18     /// <auther> 19     ///     <name>Kencery</name> 20     ///     <date>2015-8-18</date> 21     /// </auther> 22     /// </summary> 23     public static class RedisHelper 24     { 25         /// <summary> 26         /// 創建Redis連接池管理對象(添加ServiceStack.Interfaces.dll、ServiceStack.Redis.dll) 27         /// </summary> 28         /// <param name="readWriteHosts">只寫服務器</param> 29         /// <param name="readOnlyHosts">只讀服務器</param> 30         /// <returns></returns> 31         private static PooledRedisClientManager CreateRedisManager(IEnumerable<string> readWriteHosts, 32             IEnumerable<string> readOnlyHosts) 33         { 34             //支持讀寫分離,均衡負載 35             return new PooledRedisClientManager(readWriteHosts, readOnlyHosts, new RedisClientManagerConfig 36             { 37                 MaxWritePoolSize = 5, //“寫”鏈接池數 38                 MaxReadPoolSize = 5, //“讀”鏈接池數 39                 AutoStart = true, 40             }); 41         } 42  43         /// <summary> 44         /// 調用CreateRedisManager方法,創建連接池管理對象,Redis服務器地址在配置文件中配置(創建只讀,只寫連接池) 45         /// <add key="RedisHosts" value="127.0.0.1:6379" /> 46         /// </summary> 47         private static readonly PooledRedisClientManager Prcm = CreateRedisManager( 48             ConfigurationManager.AppSettings["Hosts"].Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries), 49             ConfigurationManager.AppSettings["Hosts"].Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)); 50  51         /// <summary> 52         /// 給緩存中添加數據,使用:RedisHelper.Set(key,值(需要存放的值)); 53         /// </summary> 54         /// <typeparam name="T">緩存類型</typeparam> 55         /// <param name="key"></param> 56         /// <param name="val"></param> 57         public static void Set<T>(string key, T val) 58         { 59             using (IRedisClient rdc = Prcm.GetClient()) 60             { 61                 rdc.Set<T>(key, val); 62             } 63         } 64  65         /// <summary> 66         /// 讀取緩存中的數據,使用:var result=RedisHelper.Get<T>(key); 67         /// </summary> 68         /// <typeparam name="T">返回讀取的數據</typeparam> 69         /// <param name="key"></param> 70         /// <returns></returns> 71         public static T Get<T>(string key) where T : class 72         { 73             using (IRedisClient rdc = Prcm.GetReadOnlyClient()) 74             { 75                 return rdc.Get<T>(key); 76             } 77         } 78  79         /// <summary> 80         /// 刪除緩存中的數據,使用  RedisHelper.Remove(key); 81         /// </summary> 82         /// <param name="key"></param> 83         public static void Remove(string key) 84         { 85             using (IRedisClient rdc = Prcm.GetClient()) 86             { 87                 rdc.Remove(key); 88             } 89         } 90  91         /// <summary> 92         /// 緩存中是否包含查詢的鍵數據,使用 var isTrue=RedisHelper.ContainsKey(key); 93         /// </summary> 94         /// <param name="key"></param> 95         /// <returns>如果包含,返回true,否則返回false</returns> 96         public static bool ContainsKey(string key) 97         { 98             using (IRedisClient rdc = Prcm.GetReadOnlyClient()) 99             {100                 return rdc.ContainsKey(key);101             }102         }103 104         /// <summary>105         /// 給緩存中添加Object對象,使用:RedisHelper.Add(key,值(需要存放的值))106         /// </summary>107         /// <param name="key"></param>108         /// <param name="value"></param>109         public static void Add(string key, object value)110         {111             using (IRedisClient rdc = Prcm.GetClient())112             {113                 if (!rdc.ContainsKey(key))114                 {115                     rdc.Add(key, value, DateTime.Now.AddMinutes(30));116                 }117                 else118                 {119                     rdc.Set(key, value);120                 }121             }122         }123 124         /// <summary>125         /// 根據key刷新緩存中的數據信息,使用:RedisHelper.RefreshCache(key)126         /// </summary>127         /// <typeparam name="T">緩存類型</typeparam>128         /// <param name="key"></param>129         public static void RefreshCache<T>(string key) where T : class130         {131             using (IRedisClient rdc = Prcm.GetClient())132             {133                 var value = rdc.Get<T>(key);134                 rdc.Remove(key);135                 rdc.Set<T>(key, value);136             }137         }138 139         /// <summary>140         /// 根據key集合信息讀取緩存中的鍵值對,返回字典形式的數據存放,使用:RedisHelper.GetList(keys);141         /// </summary>142         /// <param name="keys">key集合</param>143         /// <returns>返回字典集合</returns>144         public static Dictionary<string, string> GetList(List<string> keys)145         {146             using (IRedisClient rdc = Prcm.GetReadOnlyClient())147             {148                 return rdc.GetValuesMap<string>(keys);149             }150         }151 152         /// <summary>153         /// 將字典集合添加到緩存中,使用:RedisHelper.Set(values);154         /// </summary>155         /// <param name="values">字典集合信息</param>156         public static void Set(Dictionary<string, string> values)157         {158             using (IRedisClient rdc = Prcm.GetReadOnlyClient())159             {160                 rdc.SetAll(values);161             }162         }163 164     }165 }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品丝袜久久久久久高清| 日韩欧美在线播放| 超薄丝袜一区二区| 精品免费在线观看| 亚洲精品一区二区在线| 91天堂在线视频| 亚洲国产精品嫩草影院久久| 久久91超碰青草是什么| 成人精品久久av网站| 国产精品香蕉av| 欧美性xxxx18| 欧美猛男性生活免费| 欧美中文字幕精品| 欧美日韩一区二区免费视频| 欧美日韩中文在线观看| 亚洲男人天堂网| 久久人体大胆视频| 色www亚洲国产张柏芝| 亚洲精品v欧美精品v日韩精品| 91精品久久久久久久久久| 国产成人亚洲精品| 97视频在线观看网址| 色综合老司机第九色激情| 日本午夜精品理论片a级appf发布| 国产福利成人在线| 97超视频免费观看| 超碰91人人草人人干| 亚洲免费视频一区二区| 欧美日韩亚洲一区二| 国产精品视频一区二区三区四| 欧美日韩在线影院| 国产精品久久久久久久久免费| 欧美性开放视频| 69久久夜色精品国产7777| 亚洲成人激情视频| 国语自产精品视频在线看抢先版图片| 成人精品视频久久久久| 成人春色激情网| 在线电影av不卡网址| 综合欧美国产视频二区| 中文字幕欧美在线| 日韩精品在线视频美女| 国产高清在线不卡| 久久精品成人动漫| 亚洲精品suv精品一区二区| 大胆人体色综合| 欧美成人激情图片网| 欧美视频二区36p| 26uuu国产精品视频| 欧美视频专区一二在线观看| 一个人www欧美| 91免费在线视频| 欧美日韩国产丝袜另类| 91香蕉嫩草神马影院在线观看| 91在线|亚洲| 精品久久久久久久久久久久久| 日韩精品在线观看一区二区| 国产在线精品自拍| 色狠狠av一区二区三区香蕉蜜桃| 91av视频在线观看| 欧美最猛性xxxxx(亚洲精品)| 国产97色在线| 成人黄色短视频在线观看| 国产成人午夜视频网址| 色综合久久久久久中文网| 日韩一区视频在线| 国产91精品久久久久| 国色天香2019中文字幕在线观看| 久久成人18免费网站| 97国产精品视频人人做人人爱| 欧美亚洲在线播放| 第一福利永久视频精品| 欧美亚洲视频在线看网址| 日韩中文字幕欧美| 国内精品久久久久久久久| 国产成人极品视频| 综合网日日天干夜夜久久| 国产精品va在线播放我和闺蜜| 亚洲色图35p| 人人澡人人澡人人看欧美| 日韩av在线电影网| 午夜精品在线观看| 久久久人成影片一区二区三区观看| 国产一区二区av| 午夜免费在线观看精品视频| 国产97在线播放| 狠狠综合久久av一区二区小说| 欧美成人精品xxx| 欧美成aaa人片免费看| 国内精品小视频| 欧美在线视频免费播放| 亚洲成人av资源网| 日韩欧美精品网站| 日韩在线视频线视频免费网站| 亚洲视频一区二区| 日韩欧美一区二区三区久久| 91黑丝高跟在线| 久久久久久久久网站| 91沈先生在线观看| 懂色av中文一区二区三区天美| 国产精品欧美一区二区三区奶水| 国产亚洲精品久久久久久| 日韩av电影手机在线观看| 国产亚洲欧洲高清| 97精品国产97久久久久久| 亚洲男人的天堂在线播放| 欧美在线激情视频| 一区二区欧美激情| 一本一本久久a久久精品综合小说| 欧美夫妻性生活xx| 日韩视频一区在线| 97精品国产97久久久久久| 中文字幕日韩精品有码视频| 91av视频在线播放| 成人av在线网址| 精品一区二区三区四区| 国产精品日韩在线一区| 国产精品99久久久久久www| 亚洲色图15p| 亚洲白虎美女被爆操| 欧美电影免费观看高清| 国产91精品网站| 国产精品偷伦免费视频观看的| 国产69精品久久久久9| 91天堂在线观看| 亚洲区中文字幕| 精品自在线视频| 成人网页在线免费观看| 尤物精品国产第一福利三区| 搡老女人一区二区三区视频tv| 欧美小视频在线| 国产欧美一区二区三区视频| 51午夜精品视频| 亚洲无亚洲人成网站77777| 91亚洲精华国产精华| 久久精品久久精品亚洲人| 国产精品第七影院| 国语自产精品视频在免费| 国产91色在线|| 韩国日本不卡在线| 色偷偷偷综合中文字幕;dd| 国产成+人+综合+亚洲欧洲| 欧美午夜性色大片在线观看| 日韩av黄色在线观看| 精品亚洲精品福利线在观看| 日韩成人黄色av| 91久久国产精品91久久性色| 2019日本中文字幕| 国产日韩欧美电影在线观看| 久久全国免费视频| 亚洲精品福利资源站| 欧美中文字幕在线| 午夜精品一区二区三区在线视| 中文字幕视频一区二区在线有码| 国产精品户外野外| 久久久久久九九九| 国产精品久久久久免费a∨| 揄拍成人国产精品视频| 久久久噜噜噜久久| 日韩视频―中文字幕| 亚洲嫩模很污视频| 久久久久亚洲精品国产| 操人视频在线观看欧美| 欧美日韩精品国产|