跳至主要內容
DHB

DHB

分享技术丨记录生活

ra
数据库工具,mysql数据恢复,binlog转sql
redis 6.x源码阅读
阅读redis源码,在源码中中文注释以及一些例子代码
mapstruct-helper
简化mapstruct使用
Clickhouse添加bitmap分页函数

Clickhouse添加bitmap分页函数

起因

在做标签引擎的时候,我们在采用了bitmap存储对象id,基础的结构如下

标签类型 标签值 对象id bitmap
性别 [1,2,3]
性别 [8,9,10]

DHB大约 2 分钟Clickhouse源码Clickhouse
Spring Gateway堆外内存溢出问题定位

Spring Gateway堆外内存溢出问题定位

公司使用Spring Gateway作为业务网关,一直存在一个堆外内存泄露的疑难杂症。从同事手上接手过来后最终解决了这个问题。


DHB大约 3 分钟JavaSpringSpring Gateway
git空commit

git空commit

git commit --allow-empty -m "repackage"

DHB小于 1 分钟Git
解决redis集群内部ip问题

解决redis集群内部ip问题

背景

服务上云,内网的redis集群,通过ip映射的方式把redis的端口映射到公网(白名单),公网的机器通过lettuce等客户端连接的时候,lettuce客户端的集群模式是先通过cluster nodes 获取节点拓扑 ,在操作key的时候先通过算法定位到key在哪个节点,获取key如果重定向到其它节点的话,就会从对应的节点获取。这就会导致获取到的ip是内网的ip,公网连接不上的问题,以下是通过iptables的方式解决。


DHB大约 3 分钟RedisRedisIptables
Mysql生产死锁问题定位

Mysql生产死锁问题定位

生产上一个消费mq消息的服务出现了死锁问题,通过命令获取到的mysql日志如下:


DHB大约 2 分钟MysqlMysqldeadlock
apisix基于docker开发java插件

apisix基于docker开发java插件

环境准备

apisix不支持windows,加上apisix的runner插件使用的协议不支持windows,所以需要在Linux环境下开发,有两个选择

  1. 使用Linux服务器部署apisix,通过ssh远程开发
  2. 使用windows + wsl2,本地开发【推荐】

两种方案IDEA都支持

使用docker快速搭建开发环境

git clone https://github.com/apache/apisix-docker.git

DHB大约 7 分钟JavaApisixJava
数据库误操作数据恢复

数据库误操作数据恢复

前提

mysql必须有以下配置

binlog_format = row
binlog_row_image = full # 默认是full

DHB大约 2 分钟MysqlMysqlFlashback
Jedis cluster模式连接出现No more cluster attempts left

Jedis cluster模式连接出现No more cluster attempts left

同事在测试环境jedis cluster模式出现redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException: No more cluster attempts left.报错,找到我帮忙定位下问题


DHB小于 1 分钟JavaJavaJedisRedis
Minio搭建分布式集群脚本

Minio搭建分布式集群脚本

下载

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio

DHB小于 1 分钟其它Minio