.NET CacheManager 内存一级缓存,Redis 二级缓存 添加 Redis String 类型的 Key
要在 CacheManager 中添加 Redis 的 string 类型的 key,并且不使用 Hash,可以使用以下步骤:
-
首先,确保已经安装和配置了 CacheManager 和 Redis。
-
在 CacheManager 的配置文件中,添加一个新的缓存实例,使用 Redis 作为缓存提供程序。例如,可以使用以下配置:
<cache name='redisCache' enableStatistics='true' maxElementsInMemory='10000' eternal='false' timeToIdleSeconds='300' timeToLiveSeconds='600' overflowToDisk='false'> <cacheManager name='net.sf.ehcache.CacheManager' factoryMethod='newInstance' factoryObject='net.sf.ehcache.CacheManager'> <properties> <property name='cacheManagerName' value='redisCacheManager' /> <property name='diskStorePath' value='java.io.tmpdir' /> <property name='maxBytesLocalHeap' value='100M' /> </properties> </cacheManager> </cache>请确保将
name设置为新缓存实例的名称,并将cacheManager设置为net.sf.ehcache.CacheManager。 -
在代码中,使用以下方式获取 CacheManager 实例,并使用上面定义的名称获取新的缓存实例:
var cacheManager = CacheManagerBuilder.BuildConfiguration(cfg => { cfg.WithJsonSerializer() .WithMicrosoftLogging(log => { log.AddConsole(LogLevel.Debug); }) .WithRedisConfiguration('redis', redisConfig => { redisConfig.WithAllowAdmin() .WithDatabase(0) .WithEndpoint('localhost', 6379); }) .WithMaxRetries(100) .WithRetryTimeout(50) .WithRedisCacheHandle('redis', true) .WithExpiration(ExpirationMode.Sliding, TimeSpan.FromMinutes(10)); }); var cache = cacheManager.GetCache('redisCache');这将返回一个具有 Redis 作为缓存提供程序的 Cache 实例。
-
然后,可以使用该缓存实例来添加和获取缓存项。例如,可以使用以下代码添加一个 string 类型的缓存项:
var key = 'myKey'; var value = 'myValue'; cache.Put(key, value);或者,可以使用以下代码获取缓存项:
var key = 'myKey'; var cachedValue = cache.Get(key);请注意,这里的 key 和 value 都是 string 类型,而不是使用 Hash。
通过以上步骤,您可以在 CacheManager 中添加 Redis 的 string 类型的 key,并且不使用 Hash。
原文地址: https://www.cveoy.top/t/topic/qn4e 著作权归作者所有。请勿转载和采集!