首页 > 其他分享 >Abp分布式实体缓存

Abp分布式实体缓存

时间:2022-11-30 12:13:56浏览次数:54  
标签:缓存 实体 ProductCacheItem Abp context Services AddEntityCache 分布式

直接缓存实体对象

  1. 注册实体缓存:.context.Services.AddEntityCache<Product, Guid>()
  2. 注入和使用.IEntityCache<Product, Guid>服务

使用此用法,实体类应可序列化/可序列化为 JSON/可从 JSON 反序列化。

实体映射到缓存项

  1. 定义缓存类,例如:ProductCacheItem
  2. 映射配置对象:.Product->ProductCacheItem映射配置
  3. 注册实体缓存:.context.Services.AddEntityCache<Product, ProductCacheItem, Guid>()
  4. 注入和使用.IEntityCache<ProductCacheItem, Guid>服务

使用上下文化对象映射器

只有使用最佳实践指南构建的可重用模块才需要这样做。应用程序开发人员不需要它。

  1. 定义缓存类,例如:ProductCacheItem
  2. 为>映射配置对象映射器:.Product->ProductCacheItem
  3. 注册实体缓存:.*context.Services.AddEntityCache<TMyModule, Product, ProductCacheItem, Guid>()
  4. 注入和使用.IEntityCache<ProductCacheItem, Guid>服务
    *TMyModule 是我们定义对象映射器上下文的模块类的类型。

其他说明

  • 所有context.Services.AddEntityCache()方法都获得一个可选的DistributedCacheEntryOptions,在这里您可以轻松地配置选项。默认值为:
new DistributedCacheEntryOptions {
    AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(2)
}
  • 实体缓存专为只读而设计。使用实体缓存时,我们不应对同一实体进行更改。如果我们需要更改实体,我们应该从数据库中读取它,以确保事务一致性。

标签:缓存,实体,ProductCacheItem,Abp,context,Services,AddEntityCache,分布式
From: https://www.cnblogs.com/HUGO_CM/p/16938019.html

相关文章