StackExchange.Redis學習筆記(三) 數據庫及密碼配置 GetServer函數


這一章主要寫一些StackExchange.Redis的配置及不太經常用到的函數

數據庫連接

下面是我的連接字符串,里面指定了地址,密碼,及默認的數據庫

Redis啟動后默認會分成0-15個數據庫,不同的數據庫之間鍵可以重復,StackExchange.Redis的GetDatabase函數提供一個db的可選參數

默認-1實際上是0,可以通過設置連接字符串里的defaultdatabase來指定連接哪個數據庫。

指定數據庫的操作比較適合來根據業務來划分

Execute

在StackExchange.Redis中直接執行Redis命令可以通過Execute函數,但是對於大部分命令StackExchange.Redis的Database都會提供方法的封裝,所以理論上是不需要調用Execute函數的

下面的代碼等同於調用IDatabaseStringSetStringGet函數

GetServer

然而有一些比較常用的功能,卻無法通過IDabaBase中提供的函數來執行,比如Keys,Flushdb,Scan等。這是為什么呢?

原因在於StackExchange.Redis提供的StringSet,SetAdd等函數是面向數據庫集群的,所以實際上添加一個鍵並不一定是添加在某一台服務器上的。

而FlushDb等操作是針對一個具體的服務器(Server)上的一個數據庫的操作。試想如果提供了一個針對整個集群的flushDb操作,萬一誤刪了,后果不可想象。。。

當然StackExchange.Redis也提供了針對Server的相關函數。可以通過ConnectionMultiplexer 實例的GetServer指定具體的Server,這里需要設置具體的服務器地址及端口號。

然后就可以調用其提供的相關函數了

 

 關於Server的服務器地址參數我們也並不需要手寫,Connection已經提供了一個GetEndPoints函數,直接調用即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM