
采坑记
文章平均质量分 79
damanchen
这个作者很懒,什么都没留下…
展开
-
gorm 遇坑总结
gorm debug 出来的语句可以正常执行,但是程序就是有问题??原创 2022-10-26 19:24:36 · 1218 阅读 · 1 评论 -
golang gorm 零值更新不生效问题处理
快速指南: 通过结构体变量更新字段值, gorm 库会忽略零值字段。就是字段值等于 0, nil, “”, false 这些值会被忽略掉,不会更新。如果想更新零值,可以使用 map 类型替代结构体。一、问题我们都知道,使用 golang 定义一个变量并且不赋初始值时,初始值就默认为 0 值,比如 0, nil, “”, false 等。在使用 gorm 包进行数据库操作时,如果想要进行字段的更新,只需要将要变动的字段进行修改,然后执行 db.Updates() 操作即可。假定有如下结构体定义:.原创 2022-05-11 20:01:45 · 5336 阅读 · 2 评论 -
numa总结
文章目录numa架构是啥numa的由来numa带来的问题redis 在NUMA架构上出现问题的过程解决方案为什么Interleave的策略就解决了问题?numa架构是啥NUMA(Non-Uniform Memory Access)服务器的基本特征是具有多个CPU模块,每个CPU模块由多个CPU(如4个)组成,并且具有独立的本地内存、I/O槽口等。由于其节点之间可以通过互联模块(如称为Crossbar Switch)进行连接和信息交互,因此每个CPU可以访问整个系统的内存(这是NUMA系统与MPP系统的重原创 2021-06-18 19:58:04 · 1336 阅读 · 0 评论 -
Redis集群丢数据问题——机器宕机没有自动切库,手动takeover后,老主库重启又抢回master
文章目录背景事故描述问题分析日志记录关键日志疑惑与猜测原因排查查看资料集群间通信手动故障转移配置纪元的主要作用:同版本集群测试准备测试流程日志分析根据日志查看源码逻辑has old slots configurationis back online网络问题确认异常信息信息确认集群间通信问题排查通信端口连接情况抓包确认之前疑惑的解答总结后续操作急救措施反思改进措施背景机器发生了宕机,查看后发现有个节点没有自动切库成功,为了保证集群对外能正常服务,所以决定手动强制切库,保证集群对外的可用性。事故描述先使原创 2021-05-17 18:28:59 · 1571 阅读 · 0 评论 -
MAC上用CLion调试Redis源码及报错排查
(本文仅作为记录,还有待完善的地方)问题点:Clion 使用了 cmake 来管理项目,所以我们需要在 Redis 源码根目录下为它创建好 CMakeLists.txt 才能进行构建。尝试调试最新版Redis报错排查刚开始参考 mac + CLion + redis5 本地调试/运行 进行调试,过程中遇到了一些新的问题,记录如下:deps/hiredis/CMakeLists.txtCMake Error at deps/hiredis/CMakeLists.txt:168 (add_librar原创 2021-05-07 18:34:56 · 1507 阅读 · 0 评论 -
Redis 3.0.7版不支持带密码的cluster rebalance操作
一、前言二、操作2.1 模拟和执行2.2 fix2.3 换5版本的redis-cli继续尝试2.4 查看源码三、总结一、前言因业务需要扩容,考虑到集群单实例容量已经超过10GB,算是比较大的情况了。所以不能直接调整maxmemory参数进行扩容,需要加节点动态扩容。业务集群版本是3.0.7版本的。二、操作2.1 模拟和执行在对3.0.7版带密码的集群加好新主从,模拟迁槽位没有问题:./redis-trib.rb rebalance --password "xxx" --use-empty-m.原创 2020-09-28 22:44:56 · 651 阅读 · 0 评论 -
Mediakit报告设备商的空间不足以执行此操作的纯MAC解法
转载自:http://zablog.me/2018/03/09/diskutil/转载 2020-09-06 15:01:30 · 981 阅读 · 0 评论 -
pycharm安装MySQLdb遇到的坑
文章目录python版本和MySQLdbpycharm(Windows)的默认python版本可能的错误3.1 Could not find a version that satisfies the requirement mysqldb (from versions3.2 Unable to find vcvarsall.bat3.3 C++ for Python\9.0\VC\Bin\amd6...原创 2020-03-19 20:31:59 · 3990 阅读 · 2 评论 -
记一次redis-trib reblance动态扩容的坑
文章目录一、背景二、坑点三、难点四、解决4.1 离线安装redis-trib环境4.2 解决中断```redis-trib rebalance```命令后槽位的修复问题4.2.1 动态扩容的过程4.2.2 ```redis-trib```的执行原理4.2.3 实战记录五、后续一、背景业务用户的增长,redis集群内存使用越来越大集群单节点的内存限额已经很大了(17GB),不能单纯的通过调整...原创 2020-01-06 16:12:18 · 1449 阅读 · 0 评论