abp框架擴充套件了asp.net core的分布式快取系統.
預設情況下啟動模板已經安裝了這個包,所以大部分情況下你不需要手動安裝.volo.abp.caching是快取系統的核心包.使用包管理控制台(pmc)安裝到專案:
install-package volo.abp.caching
然後將abpcachingmodule依賴新增到你的模組:
using volo.abp.modularity;
using volo.abp.caching;
namespace mycompany.myproject
}
asp.net core 定義了idistributedcache
介面用於 get/set 快取值 . 但是會有以下問題:
idistributedcache
定義在microsoft.extensions.caching.abstractions
包中. 這使它不僅適用於asp.net core應用程式, 也可用於任何型別的程式.
有關更多資訊, 參見 asp.net core 分布式快取文件.idistributedcache
介面的預設實現是memorydistributedcache
它使用記憶體工作. 參見 asp.net core文件 了解如何切換到redis或其他快取提供程式.
abp框架在volo.abp.caching包定義了通用的泛型idistributedcache
介面.tcacheitem
是儲存在快取中的物件型別.
idistributedcache
介面了上述中的問題;
快取中儲存項的示例類:
public class bookcacheitem
public float price
}
你可以注入idistributedcache
服務用於 get/setbookcacheitem
物件。
使用示例:
public class bookservice : itransientdependency
public async taskgetasync(guid bookid));}
private taskgetbookfromdatabaseasync(guid bookid)
}
idistributedcache
的其他方法與asp.net core的idistributedcache
介面相同, 你可以參考 asp.net core文件.
idistributedcache
介面預設了鍵是string
型別 (如果你的鍵不是string型別需要進行手動型別轉換).idistributedcache
將鍵的型別泛型化試圖簡化手動轉換的操作.
示例快取項
public class bookcacheitem
public float price
}
用法示例 (這裡假設你的鍵型別是guid
):
public class bookservice : itransientdependency
public async taskgetasync(guid bookid));}
private taskgetbookfromdatabaseasync(guid bookid)
}
idistributedcache
在內部使用鍵物件的tostring()
方法轉換型別為string. 如果你的將複雜物件做為鍵,那麼需要重寫類的tostring
方法。
示例:
public class userinorganizationcachekey
public guid organizationid
//構建快取key
public override string tostring()
_";}
}
用法示例:
public class bookservice : itransientdependency
...}
Mybatis系列之 快取機制
正如大多數持久層框架一樣,mybatis 同樣提供了一級快取和二級快取的支援 一級快取 基於perpetualcache 的 hashmap本地快取,其儲存作用域為session,當session flush或close之後,該session中的所有 cache 就將清空。3.對於快取資料更新機制,...
Hibernate的快取機制介紹
快取是介於應用程式和物理資料來源之間,其作用是為了降低應用程式對物理資料來源訪問的頻次,從而提高了應用的執行效能。快取內的資料是對物理資料來源中的資料的複製,應用程式在執行時從快取讀寫資料,在特定的時刻或事件會同步快取和物理資料來源的資料。快取的介質一般是記憶體,所以讀寫速度很快。但如果快取中存放的...
Hibernate的快取機制介紹
快取是介於應用程式和物理資料來源之間,其作用是為了降低應用程式對物理資料來源訪問的頻次,從而提高了應用的執行效能。快取內的資料是對物理資料來源中的資料的複製,應用程式在執行時從快取讀寫資料,在特定的時刻或事件會同步快取和物理資料來源的資料。快取的介質一般是記憶體,所以讀寫速度很快。但如果快取中存放的...