標籤:連接字串 data blog stack logs strong server multi exec
這一章主要寫一些StackExchange.Redis的配置及不太經常用到的函數
資料庫連接
下面是我的連接字串,裡面指定了地址,密碼,及預設的資料庫
Redis啟動後預設會分成0-15個資料庫,不同的資料庫之間鍵可以重複,StackExchange.Redis的GetDatabase函數提供一個db的選擇性參數
預設-1實際上是0,可以通過設定連接字串裡的defaultdatabase來指定串連哪個資料庫。
指定資料庫的操作比較適合來根據業務來劃分
Execute
在StackExchange.Redis中直接執行Redis命令可以通過Execute函數,但是對於大部分命令StackExchange.Redis的Database都會提供方法的封裝,所以理論上是不需要調用Execute函數的
下面的代碼等同於調用IDatabase的StringSet和StringGet函數
GetServer
然而有一些比較常用的功能,卻無法通過IDabaBase中提供的函數來執行,比如Keys,Flushdb,Scan等。這是為什麼呢?
原因在於StackExchange.Redis提供的StringSet,SetAdd等函數是面向資料庫叢集的,所以實際上添加一個鍵並不一定是添加在某一台伺服器上的。
而FlushDb等操作是針對一個具體的伺服器(Server)上的一個資料庫的操作。試想如果提供了一個針對整個叢集的flushDb操作,萬一誤刪了,後果不可想象。。。
當然StackExchange.Redis也提供了針對Server的相關函數。可以通過ConnectionMultiplexer 執行個體的GetServer指定具體的Server,這裡需要設定具體的伺服器位址及連接埠號碼。
然後就可以調用其提供的相關函數了
關於Server的伺服器位址參數我們也並不需要手寫,Connection已經提供了一個GetEndPoints函數,直接調用即可
StackExchange.Redis學習筆記(三) 資料庫及密碼配置 GetServer函數