首先是 AbpRedisCache 类继承了微软原生的 RedisCache,并通过反射的方式获取 RedisCache 的私有方法对 RedisCache 进行扩展,实现了 ABP 分布式缓存中的批量操作方法。 为什么要这么做呢?因为基于 Redis 缓存的批量操作需要使用到 StackExchange.Redis 原生的SDK,而且在进行操作前总需要先进行 Redis 连接,而相应的方法和...
所以可以通过下面这种方式获取用户列表)//var userList = AsyncHelper.RunSync(() => _userAppService.GetUsersAsync());//1.3 缓存版本varuserList=_cacheManager.GetCache("ControllerCache").Get("AllUsers
A) 替换ABP的Redis缓存默认实现,不使用BinaryFormatter进行序列化,使用JSON.NET进行序列化 要替换ABP的Redis缓存默认实现修改修改3个地方 实现一个ICache,可以参考ABP的实现,修改序列化与反序列化的相关代码,序列化与反序列化时需要注意,需要将原始对象包装到RedisCacheItem中,之所以要这样做,是因为反序列化时需要获取原...
1Configuration.Caching.UseRedis(options=>2{3options.ConnectionString=_appConfiguration["Abp:RedisCache:ConnectionString"];4options.DatabaseId=_appConfiguration.GetValue<int>("Abp:RedisCache:DatabaseId");5}); 2.修改redis配置 配置文件在项目“Web.Mvc”里 appsettings.json 这里说一下DatabaseId,及Redis...
ABP中有两种cache的实现方式:MemroyCache和RedisCache,两者都继承至ICache接口(准确说是CacheBase抽象类)。ABP核心模块封装了MemroyCache来实现ABP中的默认缓存功能。Abp.RedisCache这个模块封装RedisCache来实现缓存(通过StackExchange.Redis这个类库访问redis)。
Abp.RedisCache package 使用“localhost”作为默认的连接字符串。你可以添加连接字符串到你的配置文件中来覆盖它。如: <addname="Abp.Redis.Cache"connectionString="localhost"/> Copy 你也可以添加配置到appSettings来设置Redis数据库的Id。如: <addkey="Abp.Redis.Cache.DatabaseId"value="2"/> ...
使用abp的 redis cache -1. 在微软维护的github项目的release里找到redis的windows版本 64位 大约5M,安装,然后在安装目录找到redis.windows.conf, 更改redis的密码 requirepassword 123456, 更改最大上限 200M 或自定; 启动redis-server.exe,默认鉴定6379端口; 启动redis-cli.exe进入reds,然后命令很简单,就是简单的...
后来我们通过综合考虑,基于配置方式选择不同缓存方式,在后端一般可以使用CacheManager 的缓存处理。 如下面是基于常规架构的缓存处理分层,如果是基于Web API的服务端,那么缓存一般可以在Web API层或者它的下面一层。 如果是基于可序列化的缓存处理,它在IIS或者其他Web 容器重新启动后,缓存不会丢失,如在Redis里面,有...
•Volo.Abp.Caching,本地缓存;•Volo.Abp.Caching.StackExchangeRedis,分布式缓存(Redis); 一、本地缓存使用 由于Demo.Abp.WebApplication1 项目是使用默认创建的模式( MiniAPI ) ,在 Program.cs 中的 DemoWebApiModule 类声明式添加 Module 化的 NuGet 包依赖,如下所示: ...
首先,你需要安装Abp.RedisCachenuget package 到你的项目中(你可以安装它到你的Web项目)。那么你需要为AbpRedisCacheModule添加DependsOn特性,并且在你模块的PreInitialize方法中调用UseRedis扩展方法,如下所示: //...其他名称空间的引用usingAbp.Runtime.Caching.Redis;namespaceMyProject.AbpZeroTemplate.Web{[Depends...