Redis
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。
Redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了master-slave(主從)同步。
using ServiceStack.Redis;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace TestRedis{ class PRogram { static void Main(string[] args) { PooledRedisClientManager prcm = CreateManager(); //讀寫客戶端 using (IRedisClient Redis = prcm.GetClient()) { Redis.Set("test", "testvalue" + DateTime.Now.ToString(), DateTime.Now.AddDays(10)); } //只讀客戶端 using (IRedisClient Redis = prcm.GetReadOnlyClient()) { Console.WriteLine(Redis.Get<string>("test")); } Console.WriteLine("-----"); Thread.Sleep(15000); Console.WriteLine("-----"); using (IRedisClient Redis = prcm.GetReadOnlyClient()) { Console.WriteLine("15秒后:" + Redis.Get<string>("test")); } Console.Read(); } public static PooledRedisClientManager CreateManager() { //支持讀寫分離,均衡負載,負載均衡需要單獨部署 return new PooledRedisClientManager(new string[] { "10.58.8.239:6379" }//用于寫 , new string[] { "10.58.8.239:6379" }//用于讀 , new RedisClientManagerConfig { MaxWritePoolSize = 10,//“寫”鏈接池鏈接數 MaxReadPoolSize = 10,//“寫”鏈接池鏈接數 AutoStart = true, }); } }}
作者:釋迦苦僧 出處:http://www.companysz.com/woxpp/p/5007623.html 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接。
新聞熱點
疑難解答