net CacheManager 内存一级缓存redis 二级缓存 添加 redis string类型的key 不要Hash
要在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/iHAZ 著作权归作者所有。请勿转载和采集!