日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

.net Redis缓存优化提高加载速度和服务器性能(二)

發(fā)布時(shí)間:2023/12/10 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .net Redis缓存优化提高加载速度和服务器性能(二) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

上文詳細(xì)測試了每次都讀取數(shù)據(jù)庫的接口和通過緩存讀取接口的性能對(duì)比

這里我們就準(zhǔn)備實(shí)際簡介腫么將原來的數(shù)據(jù)庫加上Redis緩存優(yōu)化部分接口

1.下載Redis和Redis視圖管理工具

點(diǎn)擊下載 提取碼: 9tgg ? ? ??備用下載地址

下載完成后先安裝Redis再安裝Redis視圖管理工具

打開后入下圖所示

安裝好必要軟件后我們就開始軟件上的改動(dòng)

首先需要給項(xiàng)目添加 StackExchange.Redis.dll引用

這個(gè)文件你可以在Nuget上下載也可以在用我下面提供的版本

如果使用nuget右鍵項(xiàng)目管理nuget程序包,然后選中右上角的瀏覽

在搜索框中輸入Redis搜索后找到 StackExchange.Redis

請(qǐng)注意查看下方有版本依賴需求的因?yàn)槲业膍vc是依賴于.netFramwork4.5的所以我這里選擇了一個(gè)版本相對(duì)較低的1.1.608來安裝

當(dāng)然你也可以使用下載dll通過右鍵添加-引用方式來添加dll

點(diǎn)擊下載 提取碼: jcs1 ? ?備用下載地址

添加所需的dll過后我們需要添加RedisHelper來簡便我們的操作

?

將我的RedisHelper復(fù)制至項(xiàng)目

點(diǎn)擊下載 提取碼: u25p? ??備用下載地址

?

請(qǐng)注意復(fù)制后請(qǐng)修改namespace為你的項(xiàng)目namespace地址,如果dll引用沒有請(qǐng)?zhí)砑訉?duì)應(yīng)引用

由于helper里寫了讀取web.confg數(shù)據(jù)庫連接地址里面的地址

所以請(qǐng)?jiān)趙eb.config添加如下代碼

<connectionStrings><add name="RedisExchangeHosts" connectionString="127.0.0.1:6379,allowadmin=true"/></connectionStrings>

添加完成后基本就完成了對(duì)Redis的引用了

下面就可以在你的控制器里面添加Redis的代碼了

RedisHelper redis = new RedisHelper(1);

這個(gè)是初始化Redis,1代表連接第2個(gè)數(shù)據(jù)庫,如果給為0的話就是連接第一個(gè)數(shù)據(jù)庫

使用代碼如下所示:

using (MiniProfiler.Current.Step("開始加載數(shù)據(jù):")){try{//判斷是否走緩存加載全場折扣if (redis.StringGet<AllDiscount>("AllDiscount" + shopid) != null){MiniProfiler.Current.Step("從Redis服務(wù)器中加載數(shù)據(jù):");allDiscount = redis.StringGet<AllDiscount>("AllDiscount" + shopid);}else{MiniProfiler.Current.Step("從MSSQL服務(wù)器中加載數(shù)據(jù):");allDiscount = ds.GetModel<AllDiscount>(m => m.Entid == shopid && m.Isopen == true && m.StartDate <= now && m.EndDate >= now);redis.StringSet<AllDiscount>("AllDiscount" + shopid, allDiscount, TimeSpan.FromHours(2));}}catch (Exception e){MiniProfiler.Current.CustomTiming("Errors:", "Redis服務(wù)未啟用,請(qǐng)開啟該服務(wù),并且請(qǐng)注意端口號(hào),本項(xiàng)目使用的的6319,而且我的是沒有設(shè)置密碼。" + e.Message);allDiscount = ds.GetModel<AllDiscount>(m => m.Entid == shopid && m.Isopen == true && m.StartDate <= now && m.EndDate >= now);}}

在學(xué)習(xí)Redis和寫本文中大量參考了https://www.cnblogs.com/cang12138/p/8884362.html?這篇博主的博文,如果看完本文看玩還不懂的話建議再去看看此文,同時(shí)歡迎加博主的QQ:864015769 進(jìn)行討論,雖然博主也是一個(gè)小菜雞(叫我時(shí)請(qǐng)備注一下CSDN看到的不然博主可能會(huì)不同意)

總結(jié)

以上是生活随笔為你收集整理的.net Redis缓存优化提高加载速度和服务器性能(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。