陪玩平台搭建,利用Redis实现多级缓存
陪玩平台搭建,利用Redis实现多级缓存
前置条件: redis服务端版本必须是>=6。lettuce版本>=6 目前java的redis客户端找了一圈,貌似只有lettuce 6支持,其他客户端估计后期会支持
1、项目中pom引入lettuce GAV
<dependency> <groupId>io.lettuce</groupId> <artifactId>lettuce-core</artifactId> <version>6.1.8.RELEASE</version> </dependency>
2、利用lettuce6提供的ClientSideCaching进行实现
/** * 客户端缓存同步 * */ public String getClientCacheValue(Map<String,String> clientCache,String key){ StatefulRedisConnection<String, String> connect = redisClient.connect(); // Map<String,String> clientCache = new ConcurrentHashMap<>(); CacheFrontend<String,String> frontend = ClientSideCaching.enable(CacheAccessor.forMap(clientCache), connect, TrackingArgs.Builder.enabled().noloop()); return frontend.get(key); }
3、测试
@Override public void run(ApplicationArguments args) throws Exception { while(true){ System.out.println(lettuceRedisTemplate.getClientCacheValue("zhangsan")); TimeUnit.SECONDS.sleep(1); } }
redis里面的zhangsan数据未发生变更时,
控制台输出的数据为
我们将redis zhangsan的密码改成9999,
看本地缓存能否立马捕捉到
控制台发现密码已经改成9999
以上就是陪玩平台搭建,利用Redis实现多级缓存, 更多内容欢迎关注之后的文章