appsettings.json
" WebConfigの" :{ " Redisの" :{ " 接続":" 127.0.1:6379、allowAdmin =真、パスワード= cmkn、defaultdatabase = 5、abortConnect =偽" 、 " のInstanceName ":" cmkn_Redis_Session_ " 、 " のApplicationName ":" session_application_name " 、 " PersistKeys ":" DataProtection-キー" 、 " のCookieName ":" RedisSession " 、" redisIP ":"127.0.1 " 、 " redisPort ":" 6379 " 、 " redistime ":" 0.06:00:00 " }、 " SESSIONTIMEOUT ":" 30 " }
OperationクラスのRedisの
/// <要約> /// Redisの操作类 /// </要約> パブリック クラスRedisHelper { パブリック 静的のTimeSpan TS。 プライベート 静的 ConnectionMultiplexerのRedis = nullを。 プライベート 静的するIDatabaseデータベース= nullを。 プライベート 静的 IServerサーバ= nullを。 プライベート int型 MYDB = 0 ; /// <要約> /// Redisの连接 /// </要約> 公共 静的な 文字列REDIS_CONN。 /// <要約> /// redisIP /// </要約> 公共の 静的な 文字列REDIS_IP。 /// <要約> /// Redisの端口 /// </要約> 公共の 静的な int型のREDIS_PORT。 /// <要約> /// 初始化 /// </要約> /// <PARAM NAME = "DB"> </ PARAM> 公共 RedisHelper(int型DB) { MYDB = デシベル。 NULL ) { Redisの = ConnectionMultiplexer.Connect(REDIS_CONN)。 データベース = redis.GetDatabase(MYDB)。 サーバ = redis.GetServer(REDIS_IP、REDIS_PORT)。 redis.ErrorMessage + = Redis_ErrorMessage。 } } /// <要約> /// 异常记录 /// </要約> /// <PARAM NAME = "送信元"> </ PARAM> /// <PARAM NAME = "E"> </ PARAM> プライベート 静的 ボイド Redis_ErrorMessage(オブジェクト送信者、RedisErrorEventArgs E) { // LogHelper.WriteLog( "Redisの"、新しい例外(e.Message)); } /// <要約> /// 通过キー获取値 /// </要約> /// <PARAM NAME = "キー"> </ PARAM> /// <戻る> </戻り> パブリック ストリング StringGet(文字列キー) { 戻りdatabase.StringGet(キー)。 } /// <要約> /// 新增キー値 /// </要約> /// <PARAM NAME = "キー"> </ PARAM> <PARAM NAME = "EXP"> </ PARAM> /// <戻る> </戻り> パブリック ブール StringSet(文字列キー、文字列のval) { 戻りStringSet(キー、ヴァル、TS)を、 } /// <要約> /// 新增キー値 /// </要約> /// <PARAM NAME = "キー"> </ PARAM> /// <PARAM NAME = "ヴァル"> </ PARAM > /// <PARAM NAME = "EXP"> </ param>の /// <リターン> </リターン> 公共 BOOL StringSet(文字列のキー、 database.StringSet(キー、ヴァル、EXP); } /// <要約> /// 新增キー値 /// </要約> /// <PARAM NAME = "キー"> </ PARAM> /// <PARAM NAME = "ヴァル"> </ PARAM > /// <PARAM NAME = "EXP"> </ PARAM> /// <戻る> </戻り> パブリック ブール objectSetと(文字列キー、オブジェクトのval) { 戻りobjectSetと(キー、ヴァル、TS)。 } /// <要約> /// 新增キー値 /// </要約> <PARAM NAME = "ヴァル"> </ param>の /// <PARAM NAME = "EXP"> </ param>の /// <リターン> </リターン> 公共 ブール objectSetと(文字列のキー、オブジェクトのvalを、のTimeSpan EXP) { 文字列 JSON = Newtonsoft.Json.JsonConvert.SerializeObject(ヴァル)。 返すdatabase.StringSet(キー、JSON、EXP); } /// <要約> /// 获取キー /// </要約> /// <PARAM NAME = "パターン"> </ PARAM> /// <戻る> </戻り> 公共のIEnumerable <" * " ) { 戻りserver.Keys(データベース:MYDB、パターン:パターン)。 } /// <要約> /// 查询 /// </要約> /// <PARAM NAME = "パターン"> </ PARAM> /// <戻る> </戻り> 公共辞書< 文字列、文字列 > GetLikeKeyValue(文字列パターン= " * " ) { IEnumerableを <RedisKey>リスト= LikeKeys(パターン)。 辞書 <> DIC = 新しい辞書< 文字列、文字列 > (); もし(!リスト= NULL && list.Count()> 0 ) { foreachの(VARの項目にリスト) { dic.Add(項目、StringGet(アイテム))。 } } 戻りDIC。 } /// <要約> /// 删除キー /// </要約> /// <PARAM NAME = "キー"> </ PARAM> /// <戻る> </戻ります> パブリック ブール KeyDelete(文字列キー) { 戻りdatabase.KeyDelete(キー)。 } }
クラス代入演算子Startup.cs
RedisHelper.REDIS_CONN =コンフィギュレーション[ " のWebConfig:Redisの:接続" ]; RedisHelper.REDIS_IP =コンフィギュレーション[ " のWebConfig:Redisの:redisIP " ]; もし(!int型 .TryParse(構成[ " のWebConfig:Redisの:redisPort " ]、アウト RedisHelper.REDIS_PORT))RedisHelper.REDIS_PORT = 6379 ;