.net core 使用 redis分布式緩存

redis大多數(shù)場景是用來做緩存的,得益于它的分布式特性,

  • 可以部署redis集群,來解決高可用,可擴(kuò)展性;
  • 同時(shí)由于數(shù)據(jù)存儲(chǔ)在內(nèi)存中,所以讀取的速度很快;
  • 可以定期對數(shù)據(jù)進(jìn)行持久化到磁盤中,保證數(shù)據(jù)不丟失;
  • 支持存儲(chǔ)豐富的數(shù)據(jù)結(jié)構(gòu):string、hash、list、set、基于list還能做成queue結(jié)構(gòu),能使用的場景非常豐富,

在.net core中應(yīng)用

  1. 使用自帶的Redis分布式緩存

.netcore 中使用 Microsoft.Extensions.Caching.Redis 中的 DistributedRedisCache就可以了

setup.cs

services.AddDistributedRedisCache(options =>
{
    //用于連接Redis的配置 
    //RedisConnectionString="1270.0.0.1:6379,password=xxxxx"
    options.Configuration = Configuration.GetConnectionString("RedisConnectionString");
    options.InstanceName = "RedisCache";
 });

application 項(xiàng)目中

using Microsoft.Extensions.Caching.Distributed;

public class SmsAppService
{
   private readonly IDistributedCache _distributedCache;
  
   public SmsAppService(IDistributedCache distributedCache)
   {
       
   }

   public void sample()
   {
        var cache=_distributedCache.GetString("cache:name");
         //寫入緩存 有效期2分鐘
         _distributedCache.SetString("cache:name","cache:value", new DistributedCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(2) });
   }
}

  1. 直接使用StackExchange.Redis客戶端
  1. 引入 nuget包 StackExchange.Redis,直接安裝;
  2. 不用二次封裝 直接在項(xiàng)目中使用(redis客戶端的API已經(jīng)寫得非常好用了,沒必要去寫什么RedisHelper類進(jìn)行過度封裝,除非說要在使用的地方加異常處理、監(jiān)控,可以加個(gè)創(chuàng)建客戶端的代理類)
    eg
using StackExchange.Redis;

void Sample()
{
  var db=  ConnectionMultiplexer.Connect("127.0.0.1:6379").GetDatabase();
  string cache=db.StringGet("cache:name");
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 緩存是分布式系統(tǒng)中的重要組件,主要解決高并發(fā),大數(shù)據(jù)場景下,熱點(diǎn)數(shù)據(jù)訪問的性能問題。提供高性能的數(shù)據(jù)快速訪問。 一...
    Java架構(gòu)師Carl閱讀 1,255評論 0 23
  • 【轉(zhuǎn)】緩存在分布式系統(tǒng)中的應(yīng)用 緩存在分布式系統(tǒng)中的應(yīng)用 摘要 緩存是分布式系統(tǒng)中的重要組件,主要解決高并發(fā),大數(shù)...
    武漢蘇乞兒閱讀 946評論 0 10
  • 五種數(shù)據(jù)結(jié)構(gòu)簡介 Redis是使用C編寫的,內(nèi)部實(shí)現(xiàn)了一個(gè)struct結(jié)構(gòu)體redisObject對象,通過結(jié)構(gòu)體...
    彥幀閱讀 7,153評論 0 14
  • 今天戴老師寫了一篇文章,讓我們提提點(diǎn)意見,戴老師寫的有一句不老通順,所以我給老師改了一句,戴老師還夸我了,最后我還...
    李明翰媽媽閱讀 193評論 0 0
  • 你說你最愛口袋妖怪,是因?yàn)槿松緛砭褪且粓霾粩啻蚬稚?jí)的過程。 打怪意味著掉血,當(dāng)然,你也可以選擇逃跑。而每一次你...
    000a4b56e026閱讀 194評論 0 0

友情鏈接更多精彩內(nèi)容