![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后端开发
文章平均质量分 56
不可大东
这个作者很懒,什么都没留下…
展开
-
什么是mysql的虚拟列以及应用实例
MySQL的虚拟列是一种新特性,可以在查询时直接使用虚拟列(代替视图) 存储虚拟列可以用作实例化缓存,以用于动态计算成本高昂的复杂条件。虚拟列可以在创建表时定义,并在查询时像普通列一样使用。虚拟列通常用于计算或汇总数据,例如计算总价、计算平均值等。定义MySQL虚拟列(generated-columns)是MySQL 5.7加入的新特性。从名字来讲,“生成的字段”,并不是主动插入的值。原创 2023-06-16 11:43:12 · 3403 阅读 · 0 评论 -
什么是CQRS
CQRS是一种与领域驱动设计(DDD)和事件溯源相关的架构模式。它是一种读写分离模式,旨在从业务上分离命令(Command,也就是写操作)和查询(Query,读操作)的行为。在CQRS中,通常将写入和读取操作分离开来,并使用不同的方法或API来实现。写入操作通常通过一个专门用于更改应用程序状态的命令路由来实现,而读取操作则通过一个专用于返回有关应用程序状态信息的查询路由来实现。CQRS还可以通过使用事件模型,实现系统的异步和解耦。在应用程序中实现CQRS可以最大限度地提高其性能、可缩放性和安全性。i。原创 2023-06-14 18:33:12 · 1480 阅读 · 0 评论 -
mock是什么?以及springboot中怎么使用mockMVC实现单元测试
Mock是一种测试模式,用于模拟或替代依赖项,以便测试程序的某些部分,而不是依赖于真实的外部系统或组件。在Mock模式中,我们使用一个虚拟的对象来代替真实的对象,以便我们可以控制它们的行为并验证我们的代码是否按预期工作。MockMVC是Spring框架提供的一种用于测试Spring MVC控制器的工具。它允许我们在测试过程中模拟HTTP请求和响应,并验证控制器的行为和输出。下面是一个简单的示例,展示了如何使用MockMVC测试Spring Boot中的控制器。在上面的示例中,我们使用了。原创 2023-06-12 10:31:29 · 1149 阅读 · 0 评论 -
mysql8.0中unit和unit all中的区别?
如果在ALTER TABLE语句中指定了该选项,则MySQL将表视为一个整体,并对整个表进行处理。这可能会导致锁定表的时间较长,影响其他操作的执行。如果在ALTER TABLE语句中指定了该选项,则MySQL将表分成多个单元,并逐个单元地处理,从而减少了锁定表的时间和影响。因此,如果表的大小比较大,建议使用UNIT选项,将表分成多个单元进行处理,以减少锁定表的时间和影响。但是,如果表的大小比较小,使用UNIT ALL选项可能更快,因为它只需要锁定表一次并对整个表进行处理。原创 2023-06-03 10:29:35 · 809 阅读 · 0 评论 -
什么是Flink CDC,以及如何使用
数据库中的CDC(Change Data Capture,变更数据捕获)是一种用于实时跟踪数据库中数据变化的技术。CDC的主要目的是在数据库中捕获增量数据,以便在需要时可以轻松地将这些数据合并到其他系统或应用程序中。CDC在数据库管理、数据同步、数据集成和数据备份等方面具有广泛的应用。CDC通常通过以下几种方式实现:基于触发器的CDC:在表上创建触发器,当数据发生更改时,触发器会将更改的数据记录到其他系统或表中。基于事务日志的CDC:通过读取数据库事务日志,将日志中的更改记录解析为可操作的数据。原创 2023-05-31 16:49:34 · 10023 阅读 · 3 评论 -
什么是MySQL8 InnoDB自适应Hash索引
哈希索引是基于哈希表的索引类型。当数据量较大时,InnoDB会自动将哈希索引转换为B-Tree索引,以避免哈希冲突和哈希表的分裂问题。MySQL 8.0引入了InnoDB自适应哈希索引(Adaptive Hash Index)的功能,它可以用于提高某些类型查询的性能。哈希索引需要占用一定的内存空间,因此对于内存有限的系统来说,可能需要权衡内存使用和性能提升之间的平衡。自动转换:InnoDB会自动根据数据量大小来决定使用哪种索引类型,从而避免了手动维护索引的麻烦。哈希索引只能用于等值查询,不能用于范围查询。原创 2023-05-25 16:38:41 · 301 阅读 · 0 评论 -
什么是垂直扩容和水平扩容
综上所述,根据具体的应用场景和需求,可以选择垂直扩容或水平扩容,或两者结合起来使用。1.垂直扩容 垂直扩容是通过增加单个节点的处理能力来提高整个系统的性能,通常是通过增加服务器的硬件配置、升级CPU、内存、硬盘等来实现。2.水平扩容 水平扩容是通过增加节点数量来提高整个系统的性能,通常是通过增加服务器数量、添加负载均衡设备、分布式部署等来实现。垂直扩容和水平扩容是架构设计中常用的两种扩容方式,它们各有优势,应根据具体场景选择合适的扩容方式。可以满足高并发的访问需求,通过增加节点数量来提高系统的吞吐量;原创 2023-05-25 16:04:08 · 2101 阅读 · 0 评论 -
yml的语法结构
简单说明yaml是一个可读性高,用来表达数据序列的格式YAML 的意思其实是:仍是一种标记语言,但为了强调这种语言以数据做为中心,而不是以标记语言为重点基本语法缩进时不允许使用Tab键,只允许使用空格缩进的空格数目不重要,只要相同层级的元素左侧对齐即可标识注释,从这个字符一直到行尾,都会被解释器忽略YAML 支持的数据结构对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)数组:一组按次序排列的值,又称为序列(sequence)原创 2022-03-02 18:50:28 · 812 阅读 · 0 评论 -
列式储存和横向储存的优缺点
因为列式储存的数据都是按列存储的,当需要进行数据的修改时,需要将整列数据读出并进行修改后再写回磁盘,这个过程可能会比较耗时。而横向储存的数据是按行存储的,修改时只需要修改对应行的数据即可,不会影响到其他行的数据,因此效率更高。MySQL作为一款开源的数据库管理系统,具有出色的事务支持、复杂数据处理、安全性和高可用性特性,被广泛应用于社交媒体、电子商务、金融、游戏、移动应用等领域。不同的数据库管理系统都具有各自独特的特点和应用场景,因此,在选择适合自己的数据库管理系统时,需要根据自身需求和数据规模综合考虑。原创 2023-05-05 14:36:42 · 2514 阅读 · 0 评论 -
什么是redis发布订阅模式,并用java代码实现小demo
然后,创建了一个订阅者对象,并通过Jedis的subscribe()方法订阅了名为“news”的频道。Redis中的发布订阅模式是一种消息传递模式,其中订阅者通过订阅特定的频道(channel)来接收发布者发送的消息。当一个客户端订阅了一个频道后,它可以在该频道上设置一个过期时间,在该时间内不需要再轮询数据,而是等待事件发布。实现分布式系统中的订阅者/发布者模式:在分布式系统中,多个客户端可能需要同时订阅同一个频道,以便在该频道上获取相关的事件通知。使用java代码实现一下Redis中的发布订阅模式。原创 2023-04-24 16:17:48 · 1355 阅读 · 0 评论 -
什么是BASE最终一致性
如果使用传统的ACID事务,每次对库存进行更改时都需要访问同一台数据库,这会带来很大的性能瓶颈。相反,使用BASE最终一致性,平台可以将库存信息复制到多个节点,即使节点之间的数据不一致,但最终数据会达成一致状态。例如,在一个节点上减少库存,但是由于网络延迟或其他原因,另一个节点上的库存仍然是原先的值。BASE最终一致性是指,在分布式系统中,数据副本可能存在不一致性,但最终数据会达成一致状态。与传统的ACID事务(原子性、一致性、隔离性和持久性)相比,BASE更适用于大规模分布式系统的设计和实现。原创 2023-04-19 11:40:45 · 504 阅读 · 0 评论