- 博客(74)
- 收藏
- 关注
原创 【设计模式】策略模式
策略模式 实际的工作场景中,我们会使用很多if....else....的判断来区分不同业务类型的逻辑,类似这种场景的,我们都可以通策略模式来优化逻辑,增强扩展性;还有的系统l里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。一.策略模式的定义 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。 算法:可以理解为业务实现的逻辑,每一个业务块都是一个算法。 封装:封闭包装,业务场景中的...
2021-04-30 11:21:42 278
原创 Docker 中安装和配置带用户名和密码保护的 Elasticsearch
通过以上步骤,你可以在 Docker 中成功安装并配置带用户名和密码保护的 Elasticsearch。使用 Docker Compose 可以更方便地管理和启动服务,并确保数据的持久性。如果需要进一步配置或优化 Elasticsearch,请参考官方文档。
2024-07-25 15:03:53 664
原创 【并发编程实战】内存模型--解决可见性和有序性的利器
在前面讲了三个问题,缓存导致的可见性问题,编译优化带来的有序性问题,线程切换带来的原子性问题。既然存在问题,那么总要有解决方案的,这一章里主要就是解决这三个问题的关键点--内存模型。
2024-06-18 16:53:56 903
原创 【并发编程实战】并发的编程引发的三个问题--可见性/原子性/顺序性
硬件和软件的发展都是相互的,硬件的发展,多核CPU,缓存,进程,线程,我们享受CPU带来的高性能的同时,必定同时也伴随着风险。为了解决这些,则出现了一些理论和实践在介绍可见性、原子性、有序性的时候,特意提到缓存导致的可见性问题线程切换带来的原子性问题编译优化带来的有序性问题,其实缓存、线程、编译优化的目的和我们写并发程序的目的是相同的,都是提高程序性能。但是技术在解决一个问题的同时,必然会带来另外一个问题,所以在采用一项技术的同时,一定要清楚它带来的问题是什么,以及如何规避。
2024-04-28 18:13:14 1128 2
原创 深入理解MySQL的MVCC(多版本并发控制)
MVCC是MySQL中一个重要的并发控制机制,它通过维护数据的多个版本来实现事务的隔离和并发性能的提升。了解MVCC的基础知识、原理和实际适用场景,对于设计和优化数据库应用具有重要意义。
2024-04-24 15:15:10 454
原创 Mongo 实现简单全文检索
创建文本索引:执行全文检索查询:db.collection.find({ $text: { $search: "keyword" } }) 注意点: 选择合适的字段:注意索引大小:考虑性能调优:搜索语法:版本兼容性:监控和优化: 使用了双引号 '"' 来包围搜索字符串 ,以确保它被视为一个整体综上所述,实现MongoDB全文检索需要创建文本索引并执行全文检索查询。在实践中,需要注意选择合适的字段、监控索引大小和性能,并根据实际情况进行性能调
2024-04-24 14:52:48 1269 1
原创 【DDD领域驱动设计】战术设计--核心概念介绍
上一篇文章DDD-事件风暴属于领域驱动设计中的战略设计,战略设计主要从业务视角出发,建立业务领域模型,划分领域边界,建立通用语言的限界上下文,限界上下文可以作为微服务设计的参考边界。而想要进行架构项目落地则需求另外一个模式,就是战术设计。
2024-04-24 14:44:24 749
转载 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 62
原创 【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 893
原创 【实际问题排查】磁盘 空间满了排查解决
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 545
原创 【数据结构】数据结构初识
数据结构是计算存储,组织数据的方式。数据结构是指相互间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。数据结构可演示线上地址。
2024-01-25 15:02:45 971
原创 【Redis】Redis 的数据类型
位图,Bitmap想象成一个以位为单位数组,数组中的每个单元只能存0或者1,数组的下标在Bitmap中叫做偏移量。时,计算基数所需的空间总是固定 的、并且是很小的。:List是一个有序可重复的集合,其遵循FIFO的原则,底层是依赖双向链表实现的,因此支持正向、反向双重查找。要注意,HyperLogLog 的统计规则是基于概率完成的,所以它给出的统计结果是有一定误差的,标准误算率是 0.81%。:主要用于存储地理位置信息,并对存储的信息进行操作,适用场景如朋友的定位、附近的人、打车距离计算等。
2023-12-25 11:49:50 505
原创 【支付渠道】跨境电商支付渠道信息(尼日)
本公司主要经营非洲尼日的市场,电商这块牵扯到支付的模块,继承paystack,opay等支付渠道,在此记录下各个渠道的API信息。
2023-12-22 10:29:00 929
原创 【Redis】redis 高性能--线程模型以及epoll网络框架
我们经常讨论到,redis 是单线程,那为什么单线程的性能还这么高,能够达到 10w/s。1、大部分操作在内存完成2、采用高效的数据结果,比如哈希表和跳表3、采用了IO多路复用机制:使其在网络IO操作中能并发处理大量的客户端请求注意:在redis 6.0 单线程主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能,比如持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。
2023-12-05 15:00:09 344
原创 【Redis】前言--介绍redis的全局系统观
学习是要形成自己的网状知识以及知识架构图,要不最终都还是碎片化的知识,不能达到提升的目的,只有掌握了全貌的知识才是全解,要不只是一知半解。这章会介绍redis的系统架构图,帮助认识redis的设计是什么样的,方便后续的学习。
2023-11-24 14:14:55 255
原创 ServletRequest的getReader和getInputStream只能调用一次问题处理
ServletRequest的getReader和getInputStream只能调用一次
2023-07-25 15:39:21 426
华为云 OBS esdk-obs-java
2023-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人