DBLE缓存分析

目录

一、导读

二、现象描述

三、原因排查

四、DBLE缓存介绍

五、总结


  • 一、导读

DBLE是一款应用较为广泛的开源分布式数据库中间件产品。本文主要结合实际生产中的案例,介绍DBLE缓存机制、缓存使用限制、以及缓存种类。下面将通过使用DBLE进行主键更新查询操作,返回结果异常的实际案例来进行演示分析。

  • 二、现象描述

前期开发同学反馈在进行数据修正时,查询丢失部分数据。A表进行了数据的分片,分片方式为hash,分片节点数量为2。首先连接DBLE在表A中插入主键值1和主键值2两条数据,使其分布在不同分片上。更新主键值1为2(两条数据不在同一分片上不会产生主键冲突),根据主键值2进行查询,只返回一条数据,丢失更新后数据。现将问题复现如下。

2.1环境及版本

DBLE版本:2.19.11.99

MySQL版本:5.7.28

涉及分片表:test

主键为mobile_no

分片字段为user_code

分片拆分规则:hash

节点数量:2

2.2表结构示例

create table test(

       mobile_no varchar(32) not null,

       user_code varchar(32) not null,

       PRIMARY KEY (mobile_no),

       INDEX idx_usercode(user_code)

) ENGINE=InnoDB CHARACTER SET =utf8mb4;

2.3查询结果异常模拟

  1. 通过DBLE插入两条数据使其分别分布在node1、node2分片上。
mysql> insert into test values(13600000001,0);

Query OK, 1 row affected (0.00 sec)

mysql> insert into test values(13800000002,1);

Query OK, 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值