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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第三篇 Entity Framework Plus 之 Query Cache

發布時間:2023/12/4 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三篇 Entity Framework Plus 之 Query Cache 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

離上一篇博客,快一周,工作太忙,只能利用休息日來寫一些跟大家分享,Entity Framework Plus 組件系列文章,之前已經寫過兩篇

第一篇 Entity Framework Plus 之 Audit

第二篇 Entity Framework Plus 之 Query Future

計劃還會寫兩篇,一篇是關于查詢緩存的(二級緩存),一篇是批量操作(只講更新,刪除)。

??

?今天寫查詢緩存,標題?第三篇 Entity Framework Plus 之 Query Cache ?,廢話不多說,直接實作。


一. 代碼實現

? ?1. ?解決方案還是前兩篇的用的 “EntityFrameworkPlusSolution” 解決方案,在“01.Demo” 解決方案文件夾,新增“EntityFrameworkPlus.QueryCache.Demo” Windows?項目(為什么要用Windows?項目,方便Demo和測試而已。)

?2. “EntityFrameworkPlus.QueryCache.Demo” 項目中,刪除原來Form1 窗口相關文件,分別新增“QueryCache” 后,“NoExpirationQueryCache”,“AbsoluteExpirationQueryCache”,“SlidingExpirationQueryCache” 窗口,界面設計分別如下圖。

? QueryCache

NoExpirationQueryCache

AbsoluteExpirationQueryCache

SlidingExpirationQueryCache

四個界面很簡單,這里大概介紹一下,?

QueryCache 就像操作臺一樣,是其他三個界面入口點。

NoExpirationQueryCache 不做緩存過期時間設置查詢緩存

AbsoluteExpirationQueryCache 指定緩存過期時間(以秒為單位) 設置查詢緩存

SlidingExpirationQueryCache 最后一次訪問緩存時間間隔(以秒為單位) 設置查詢緩存

3. 代碼

QueryCache?


NoExpirationQueryCache?


AbsoluteExpirationQueryCache?


SlidingExpirationQueryCache?



代碼就不做解釋,等一下逐個測試一下給大家看,查詢的信息是上一篇第二篇 Entity Framework Plus 之 Query Future商品信息(Sample_Goods),查詢后會直接展示到DataGridView里面。


二.測試效果(記得打開SQL Profiler 追蹤SQL)

NoExpirationQueryCache ?不做緩存過期時間設置查詢緩存

1. 點擊查詢按鈕一次,Demo如下圖

2. 清空一下Sql Profiler 執行的SQL(這個應該不用我教大家都會),接著連續點擊查詢按鈕,Demo如圖

DataGridView 依舊會有數據展示出來,但是SQL Profiler 是沒有執行查詢商品信息的SQL,說明之后查詢是取緩存中的,如果緩存中存在,就不去執行SQL.

AbsoluteExpirationQueryCache 指定緩存過期時間(以秒為單位) 設置查詢緩存 (每次Demo另外一個場景,把程序關閉一次,避免Demo不會有問題。)

1. 設置緩存過期時間為10秒,點一次查詢,Demo如下圖

?

2. 清空一下Sql Profiler 執行的SQL,然后在10范圍內,連續點查詢,Demo如下圖?

3. 過了10秒在點查詢按鈕,Demo 如下圖

從上面三種操作,說明10秒內,點擊查詢,商品信息,已經被緩存,就不會和數據庫進行交流,當過了10秒商品信息的緩存就會自動清除,重新到數據庫取數據。

?

SlidingExpirationQueryCache 最后一次訪問緩存時間間隔(以秒為單位) 設置查詢緩存

1. 最后訪問緩存時間間隔設置10s ,點擊查詢,Demo如下圖

2. 清空一下Sql Profiler 執行的SQL,連續點擊查詢按鈕,只要最后一次訪問緩存不超過10s,Demo如下圖

3. 最后一次訪問緩存時間間隔晚于10s ,Demo如下圖

從上面三種操作來看,只要最后一次訪問緩存不超過設置時間間隔,即就不會和數據庫打交道,總是會取緩存數據,否則不然。

到此?Entity Framework Plus 之 Query Cache 就寫完,大家可以更加深入的了解?Entity Framework Plus Query Cache 可以自行看源碼

Entity Framework Plus GitHub :https://github.com/zzzprojects/EntityFramework-Plus

本博文源代碼 :https://github.com/haibozhou1011/EntityFramework-PlusSample

原文地址:http://www.cnblogs.com/davidzhou/p/5384441.html


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

總結

以上是生活随笔為你收集整理的第三篇 Entity Framework Plus 之 Query Cache的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。