- 博客(67)
- 收藏
- 关注
原创 【设计模式】策略模式
策略模式 实际的工作场景中,我们会使用很多if....else....的判断来区分不同业务类型的逻辑,类似这种场景的,我们都可以通策略模式来优化逻辑,增强扩展性;还有的系统l里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。一.策略模式的定义 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。 算法:可以理解为业务实现的逻辑,每一个业务块都是一个算法。 封装:封闭包装,业务场景中的...
2021-04-30 11:21:42 220
原创 深入理解MySQL的MVCC(多版本并发控制)
MVCC是MySQL中一个重要的并发控制机制,它通过维护数据的多个版本来实现事务的隔离和并发性能的提升。了解MVCC的基础知识、原理和实际适用场景,对于设计和优化数据库应用具有重要意义。
2024-04-24 15:15:10 184
原创 Mongo 实现简单全文检索
创建文本索引:执行全文检索查询:db.collection.find({ $text: { $search: "keyword" } }) 注意点: 选择合适的字段:注意索引大小:考虑性能调优:搜索语法:版本兼容性:监控和优化: 使用了双引号 '"' 来包围搜索字符串 ,以确保它被视为一个整体综上所述,实现MongoDB全文检索需要创建文本索引并执行全文检索查询。在实践中,需要注意选择合适的字段、监控索引大小和性能,并根据实际情况进行性能调
2024-04-24 14:52:48 197
原创 【DDD领域驱动设计】战术设计--核心概念介绍
上一篇文章DDD-事件风暴属于领域驱动设计中的战略设计,战略设计主要从业务视角出发,建立业务领域模型,划分领域边界,建立通用语言的限界上下文,限界上下文可以作为微服务设计的参考边界。而想要进行架构项目落地则需求另外一个模式,就是战术设计。
2024-04-24 14:44:24 327
转载 docker 安装 Mysql
因为 mysql 新版本 5.7.43,配置文件路径改了,用原来的方式挂载目录会失效。9、注意,如果不指定 mysql 版本为 5.7.36,而是 5.7。6、进入 mysql,连接 mysql 命令行。-v 将主机上的对应目录挂载到容器的对应目录。3、修改 mysql 配置文件 my.cnf。-p 指定容器端口到主机端口的映射。7、设置 mysql 自动启动。8、mysql 权限设置语句。--name 指定容器名称。1、下载 mysql。2、启动 mysql。4、重启 mysql。
2024-04-15 14:30:59 6
原创 【Mongo】mongodump/mongoexport/mongoimport 操作
1、进入容器 docker exec -it 容器id bash2、导出 mongodump -h 127.0.0.1:27017 --authenticationDatabase=admin -u admin -p xxx --archive=/root/data.gz --gzip -d zb -c PUSH_MESSAGE_BACKUP-h 表示 host-d/--db 表示 database--archive 表示打包-o 表示 output directory。
2024-02-23 13:50:50 515
原创 【实际问题排查】磁盘 空间满了排查解决
1.查看磁盘大小: df -h2.直接在最上层进行排序:du -a|sort -rn|head -53.然后找到最大的文件删除,ps:你要确定是否可以删除,比如一些.log/.tar等文件都可以直接删除,但是有的文件你就需要看一下是否在使用中:lsof fileName4.清除文件以后还要继续df-h,有的人会发现我删除了,但是磁盘却没有任何减少,这就是就有人开始说博主是个骗子,其实还差最后一步。查看已删除空间却没有释放的进程:lsof -n | grep deleted,然后删除(kill -
2024-02-01 14:52:10 471
原创 【数据结构】数据结构初识
数据结构是计算存储,组织数据的方式。数据结构是指相互间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。数据结构可演示线上地址。
2024-01-25 15:02:45 894
原创 【Redis】Redis 的数据类型
位图,Bitmap想象成一个以位为单位数组,数组中的每个单元只能存0或者1,数组的下标在Bitmap中叫做偏移量。时,计算基数所需的空间总是固定 的、并且是很小的。:List是一个有序可重复的集合,其遵循FIFO的原则,底层是依赖双向链表实现的,因此支持正向、反向双重查找。要注意,HyperLogLog 的统计规则是基于概率完成的,所以它给出的统计结果是有一定误差的,标准误算率是 0.81%。:主要用于存储地理位置信息,并对存储的信息进行操作,适用场景如朋友的定位、附近的人、打车距离计算等。
2023-12-25 11:49:50 470
原创 【支付渠道】跨境电商支付渠道信息(尼日)
本公司主要经营非洲尼日的市场,电商这块牵扯到支付的模块,继承paystack,opay等支付渠道,在此记录下各个渠道的API信息。
2023-12-22 10:29:00 853
原创 【Redis】redis 高性能--线程模型以及epoll网络框架
我们经常讨论到,redis 是单线程,那为什么单线程的性能还这么高,能够达到 10w/s。1、大部分操作在内存完成2、采用高效的数据结果,比如哈希表和跳表3、采用了IO多路复用机制:使其在网络IO操作中能并发处理大量的客户端请求注意:在redis 6.0 单线程主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能,比如持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。
2023-12-05 15:00:09 315
原创 【Redis】前言--介绍redis的全局系统观
学习是要形成自己的网状知识以及知识架构图,要不最终都还是碎片化的知识,不能达到提升的目的,只有掌握了全貌的知识才是全解,要不只是一知半解。这章会介绍redis的系统架构图,帮助认识redis的设计是什么样的,方便后续的学习。
2023-11-24 14:14:55 240
原创 ServletRequest的getReader和getInputStream只能调用一次问题处理
ServletRequest的getReader和getInputStream只能调用一次
2023-07-25 15:39:21 340
原创 Mixpanel 说明详解
如果您想要一个更开箱即用的解决方案来从仓库加载数据,Mixpanel还可以连接到各种反向ETL工具,包括Census(在新选项卡中打开)和Hightouch(在新标签中打开)。对于购买咖啡,活动将是purchase,活动属性可以是Item Type(在本例中为coffee)和Item Price(在本案中为2.50美元)。如果您已经将事件发送到类似CDP的Segment(在新选项卡中打开)或Rudderstack(在新标签中打开),您可以在几秒钟内启动并运行Mixpanel。不确定什么是事件或属性?
2023-06-16 11:46:57 453
原创 HTTP header 参数丢失情况分析以及解决防范
HTTP header 参数丢失情况分析以及解决防范1.问题当项目有Nginx做了代理的时候,请求头中传参 "user_ip" ,接口接收不到2.问题分析 默认nginx是不能转发带_的header信息的,为什么不能支持下划线呢,因为nginx的源码中默认判定就是不合法的: rc = ngx_http_parse_header_line(r, r->header_in, cscf->underscores_in_headers); if (r
2021-06-30 20:52:54 5664 1
原创 本地消息表同步多系统的解决方案
本地消息表同步多系统的解决方案1.本地消息表结构CREATE TABLE `t_synmgr_msg` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `bizType` varchar(64) DEFAULT NULL COMMENT '业务类型', `bizKey` varchar(64) DEFAULT NULL COMMENT '业务key,一般为业务表的code字段', `operType` varchar(
2021-04-30 10:13:19 183
华为云 OBS esdk-obs-java
2023-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人