入門系列 快取機制介紹與使用

2022-02-14 16:41:02 字數 2429 閱讀 1390

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應用程式, 也可用於任何型別的程式.

idistributedcache介面的預設實現是memorydistributedcache它使用記憶體工作. 參見 asp.net core文件 了解如何切換到redis或其他快取提供程式.

有關更多資訊, 參見 asp.net core 分布式快取文件.

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的快取機制介紹

快取是介於應用程式和物理資料來源之間,其作用是為了降低應用程式對物理資料來源訪問的頻次,從而提高了應用的執行效能。快取內的資料是對物理資料來源中的資料的複製,應用程式在執行時從快取讀寫資料,在特定的時刻或事件會同步快取和物理資料來源的資料。快取的介質一般是記憶體,所以讀寫速度很快。但如果快取中存放的...