那點所謂的分布式——redis

來源:互聯網
上載者:User

 

     日常開發中,總會接觸到一些好玩的東西,比如這篇的redis,一說到redis,可能就有人跟memcache做比較了,是呀,

memcache只能說是簡單的kv記憶體資料結構,而redis支援的資料類型就豐富多了,當然最能讓人看上眼的就是SortedSet。

有了它,我們就可以玩一些“貪心”的問題,比如適合“貪心”的優先隊列,說到優先隊列,我們以前實現了僅僅是記憶體形式的,

哎,記憶體畢竟是記憶體,當有海量資料的時候,最好能有一個序列化到硬碟的操作。。。恰恰這個情境redis就可以辦到。。。

一:快速搭建

    好了,我們知道redis比較適合做的事情了,現在我們可以進行快速搭建。

第一步:下載redis-2.0.2.zip (32 bit)。然後改名為redis放在D盤中。

 

最重要的也就是下面兩個:

redis-server.exe:        這個就是redis的服務端程式。

redis-cli.exe:             服務端開啟後,我們的用戶端就可以輸入各種命令測試了。

我們可以看到兩點:

①:沒有指定config file。

     原來redis建議我們做一個設定檔,那我就搞段配置。

daemonize:  是否以“守護進程”的方式開啟,當是守護進程的時候就不受控制台的影響了。

logfile:         log檔案位置。

database:    開啟資料庫的個數。

dbfilename:  資料快照檔案名稱。

save * *:     儲存快照的頻率,第一個為時間,第二個為寫操作。

將這些配置好後,我們再看看:

②:我們看到redis預設的開放連接埠為6379。

 

二:安裝驅動

好了,redis已經搭建完畢了,現在我們就要用C#去操作redis,這也是我最渴望的功能,優先隊列~,先下載C#驅動,

就可以看到如下3個dll。

最後我們做下小測試:

 1     class Program 2     { 3         static void Main(string[] args) 4         { 5             var client = new RedisClient("127.0.0.1", 6379); 6  7             //最後一個參數為我們排序的依據 8             var s = client.AddItemToSortedSet("12", "百度", 400); 9 10             client.AddItemToSortedSet("12", "Google", 300);11             client.AddItemToSortedSet("12", "阿里", 200);12             client.AddItemToSortedSet("12", "新浪", 100);13             client.AddItemToSortedSet("12", "人人", 500);14 15             //升序擷取最一個值:"新浪"16             var list = client.GetRangeFromSortedSet("12", 0, 0);17 18             foreach (var item in list)19             {20                 Console.WriteLine(item);21             }22 23             //降序擷取最一個值:"人人"24             list = client.GetRangeFromSortedSetDesc("12", 0, 0);25 26             foreach (var item in list)27             {28                 Console.WriteLine(item);29             }30 31             Console.Read();32         }33     }

AddItemToSortedSet: 第三個參數也就是我們要排序的依據,這也非常適合我們做topK的問題,非常爽~

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.