Redis Cluster的查询不到Vlaue的原因
redis 是什么
什么是Cluster
背景:
公司的Redis使用的架构是Cluster的模式,如下图模式,也是为了可扩展,还有HA,之前的生产环境都是正常的,没有任何问题的,但是最近突然发现,部分KEY 查询不到Redis数据,进行了数据库查询,量级也不是很大的,但是有个部门的新老业务进行替换的过程中,由于为了敏捷开发,快速迭代(省事,偷懒),最新的操作直接对缓存修改,没有更新数据库,如果查询不到noSql数据,就会产生脏数据,很是头疼的问题,所以要快速定位问题并解决,业务上解决也是很简单的.
解决方案
- 本地缓存数据 ->Redis ->Mysql
- Redis查询不到数据-再次查询数据->Mysql
- Redis查询不到数据->Nocos/(Apollo)->Mysql
业务上是可以解决问题了,但是为什么会发生查询不到的情况呢,客户端我们使用的是
[https://github.com/xetorthio/jedisJedis,]:
官方首选推荐的客户端,Maven 的包是
Jedis 介绍

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
官方的提供的Demo
@Test
public void ConnectionTest(){
//1. Connecting to Redis server on localhost
Jedis jedis = new Jedis("localhost");
System

本文探讨了在公司使用RedisCluster架构时遇到的查询不到Value的问题,分析了可能的原因,包括序列化问题、Jedis并发问题、RedisTemplate问题等,并提供了Jedis的示例代码。解决方案包括本地缓存、再次查询数据库以及配置检查。同时,文章提到了连接池的配置和Cluster查询过程。
最低0.47元/天 解锁文章
441

被折叠的 条评论
为什么被折叠?



