標籤:
關於Redis
1.簡介
Redis是著名的NOSQL(Not Only SQL)資料庫,是索引值對結構。(我只用過索引值對結構的)
他為儲存索引值對做了最佳化,在大型網站中應用廣泛。Redis提供了資料的自動到期處理,而且支援叢集。
適合臨時儲存資料,和儲存一些離散的資料。
2.用途
Redis可以儲存一些臨時資料。可以儲存一些,某一時刻有意義,但是又不值得存入資料庫的資料。
同時,對於資料統計來說,使用者的一次點擊,一次登入,都是有意義的。但是這些大量的離散的,單個拿出來毫無意義的資料,顯然不適合儲存在關係型資料庫中。Redis提供瞭解決這種問題的方案。
3.環境
說明: Redis伺服器有Linux、Windows版,Linux版效能好適合生產環境,在自己的windows電腦上配只是為了學習。 不用太較真。
1)Windows下Redis伺服器的安裝:解壓redisbin_x32.zip到硬碟;
2)安裝RedisWatcher(把Redis運行為系統服務,如果安裝過程有問題,直接執行redis-server 也可以),
3)然後配置RedisWatcher安裝目錄下的watcher.conf指向redis-server 的路徑,然後到Windows 服務中啟動RedisWatch。 注意watcher.conf只能用進階文字編輯器開啟。
4)在項目中引用
如果想使用Redis資料庫,需要在項目中添加如上的四個引用。
OK,準備工作到此,全部完成。我們開始使用的demo。
使用
1.相當於設定檔的類。
public class RedisManager
{
//注意,這個屬性的寫法是{ get; private set; } 外部不可寫入。
public static PooledRedisClientManager ClientManager { get; private set; }
static RedisManager()
{
RedisClientManagerConfig redisConfig = new RedisClientManagerConfig();
redisConfig.MaxWritePoolSize = 128;
redisConfig.MaxReadPoolSize = 128;
/*讀寫分離。多台Redis組成叢集
注意前兩個參數,參數1表示,讀寫Redis的伺服器位址,為字串數組,支援多個地址,也就是支援叢集。
參數2表示,讀Redis的伺服器,同樣支援叢集。
*/
ClientManager = new PooledRedisClientManager(new string[] {"127.0.0.1"},
new string[] {"127.0.0.1"}, redisConfig);
}
}
2.儲存和讀取
static void Main(string[] args)
{
using (IRedisClient client = RedisManager.ClientManager.GetClient())
{
//1.設定讀取int對象
client.Set<int>("age",18);
client.Get<int>("age");
//2.設定讀取sting對象
client.Set<string>("name","jim");
string name = client.Get<string>("name");
//3.設定讀取Dictionary對象
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("aaa", "bbb");
client.Set<Dictionary<string, string>>("dict",dict);
client.Get<Dictionary<string,string>>(dict);
//4.賦值時,設定失效時間。
client.Set<string>("name", "rupeng", DateTime.Now.AddSeconds(30))
}
}
.NET 下第一次接觸Redis資料庫