學到Redis中須要整理和配置的東西比較多,資源也是比較分散!此次的主要仍是將知識整合一下,開發過程當中所須要的資源整合一下,也方便從此涉及到這塊地方的知識時,將時間大量浪費在了找這些資源上了!html
redis主要是用於存儲鍵值對數據(主要對這進行了優化)的一種數據庫,而且對數據進行了自動過時處理。和memcached不一樣之處在於,redis數據存在本機硬盤上,而memcached則是將數據存在內存中。linux
redis有Windows版和linux版,日常測試開發基本使用Windows版,在正式項目開發過程當中,通常用linuxgit
關於redis的安裝(Windows版)能夠參考官方教程配置,github
這個是經過server.exe啓動的:http://www.redis.net.cn/tutorial/3503.htmlredis
win64能夠下載這個帶服務的(後綴是.msi):https://github.com/MSOpenTech/redis/releases數據庫
win32下載選擇適合版本:https://github.com/MSOpenTech/redis/releases?after=win-2.8.2102memcached
.net驅動:https://github.com/ServiceStack/ServiceStack.Redis/tree/master/lib工具
驅動須要下載下列四個:測試
三.代碼鏈接Redis:優化
根據業務的不一樣,進行相應的鏈接配置,這裏介紹的是最簡單的鏈接配置:
class RedisManager { public static PooledRedisClientManager clientManager { get; private set; } static RedisManager() { RedisClientManagerConfig clientMangerConfig = new RedisClientManagerConfig(); clientMangerConfig.MaxWritePoolSize = 128; clientMangerConfig.MaxReadPoolSize = 128; clientManager = new PooledRedisClientManager( new string[] { "127.0.0.1" }, new string[] { "127.0.0.1" }, clientMangerConfig); } }
設置和讀取值:
using(client = RedisManager.clientManager.GetClient()) { string str= client.Set<string>("key","value",expireTime);//括號中第一個參數鍵,第二個值是值,第三個是過時時間 }
關於Redis知識也能夠參考這篇博客,確實也寫的挺好:http://www.cnblogs.com/yangecnu/p/Introduct-Redis-in-DotNET.html
四.消息隊列:
到底什麼是消息隊列?
答:來個我的通俗的解釋吧。消息隊列,顧名思義 首先是個隊列。
隊列的操做有入隊
和出隊
也就是你有一個程序在產生內容而後入隊(生產者)
另外一個程序讀取內容,內容出隊(消費者)
生產數據:
1 static void Main(string[] args) 2 { 3 IRedisClient client; 4 using (client = RedisManager.clientManager.GetClient()) 5 { 6 while (true) 7 { 8 string line = Console.ReadLine(); 9 client.EnqueueItemOnList("redistest", line); 10 if (line == "ok") 11 { 12 break; 13 } 14 } 15 } 16 Console.ReadKey(); 17 }
消費數據:
static void Main(string[] args) { using (var client = RedisManager.clientManager.GetClient()) { while (true) { string str = client.DequeueItemFromList("redistest"); if (str == null) { Console.WriteLine("沒有找到數據"); Thread.Sleep(10000); continue; } else { Thread.Sleep(5000); Console.WriteLine(str); } } } }
注:這裏能夠大量生產數據,而消費者能夠慢慢的消費生產的數據
五.Redis數據庫管理工具及使用過程當中注意事項:
Redis數據庫管理工具:http://redisdesktop.com/download
能夠方便的看到redis Key中存儲的各類類型的值。
使用Redis時需注意:
1.當不少數據往Redis中寫入時,要避免鍵衝突:鍵衝突會使得相同名稱的鍵的值會被覆蓋掉。
避免鍵衝突:例如能夠適當給鍵的名稱加個前綴
2.Redis是你們共享存儲的鍵值對存儲空間,A寫入的,B是能夠讀出來的;A寫入的,B也是能夠進行覆蓋掉的