- 博客(19)
- 收藏
- 关注
原创 消息队列知识总结2
写数据时,leader 负责把数据同步给所有的follower,读消息时,直接读 leader 上的数据即可。生产者发送消息时如果指定了Key,则这条消息会根据Key的Hash发送到对应的分区,也就是说带有相同Key的消息会被发送到相同的分区。在使用消息key来确保消息发布到多个分区时,要注意key的hash函数,尽量避免大多数消息发布到一个分区,否则会出现流量倾斜。2,MQ收到消息后,将消息持久化到存储系统,这条消息的状态是待发送状态。6,MQ服务器收到ACK,认为消息消费成功,即在存储中删除消息。
2022-08-25 11:06:48 388 1
原创 消息队列知识总结1
1、解耦。比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单操作失败。订单系统与库存系统耦合,这个时候如果使用消息队列,可以返回给用户成功,先把消息持久化,等库存系统恢复后,就可以正常消费减去库存了。2、异步。将消息写入消息队列,非必要的业务逻辑以异步的方式运行,不影响主流程业务。3、削峰。消费端慢慢的按照数据库能处理的并发量,从消息队列中慢慢拉取消息。在生产中,这个短暂的高峰期积压是允许的。比如秒杀活动,一般会因为流量过大,从而导致流量暴增,应用挂掉。
2022-08-25 10:26:05 728
原创 mysql知识总结2(事务)
原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用一致性: 事务执行前后,数据保持一致,多个事务对同一个数据读取的结果是相同的隔离性: 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的持久性: 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。脏读:一个事务读取到另一个事务尚未提交的数据。事务 A 读取事务 B 更新的数据,然后 B 回滚操作,那么 A 读取到的数据是脏数据。
2022-08-24 19:36:12 273
原创 mysql知识总结1(索引)
在 B+ 树的索引中,叶子节点可能存储了当前的键值,也可能存储了当前的键值以及整行的数据,这就是聚簇索引和非聚簇索引。在 InnoDB 中,只有主键索引是聚簇索引,如果没有主键,则挑选一个唯一键建立聚簇索引。如果没有唯一键,则隐式的生成一个键来建立聚簇索引。当查询使用聚簇索引时,在对应的叶子节点,可以获取到整行数据,因此不用再次进行回表查询。索引下推(Index condition pushdown) 简称 ICP,在 Mysql 5.6 版本上推出的一项用于优化查询的技术。
2022-08-24 19:25:31 207
原创 redis知识总结2
①redis是基于内存存储实现的数据库,相比于数据存在磁盘的mysql,可以省去磁盘io的消耗。②redis支持多种数据类型和数据结构,合理的数据结构使得程序执行速度快③实现了I/O多路复用:一个线程可以监视多个文件句柄;一旦某个文件句柄就绪,就能够通知应用程序进行相应的读写操作;而没有文件句柄就绪时,就会阻塞应用程序,交出cpu(文件句柄在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作系统函数并传送文件名,并选一个到该文件的路径来打开文件。该函数取回一个顺序号,即文件句柄)
2022-08-23 20:01:26 272
原创 redis知识总结1
redis是一个开源的、支持数据持久化和备份的key-value数据库。①Redis的数据是存在内存中的,读写速度非常快。②redis支持数据持久化,可以将内存中的数据存储到磁盘中,重启redis的时候可以再次加载进行使用。③redis不仅支持key-value数据结构,还提供set、list、hash等数据结构的存储④redis支持数据备份,即master-slave模式的数据备份。
2022-08-23 18:27:13 185
原创 将内容引用到其他栏目
引用功能分为链接型引用和镜像型引用。链接型引用:将内容的链接共享到所选栏目,所选栏目中生成一篇虚拟的内容,内容的模板依然用原来的模板,链接依然是原来的链接;数据库只存在1条记录;镜像型引用:所选栏目中生成一篇虚拟的内容,内容的模板套用所选栏目的模板,生成新的链接地址;数据库只存在1条记录;首先创建一个关联表,用来存内容和栏目的id。例如:当引用内容时,变更内容表中的type字段(引用类型字段:0为不引用,1为链接型引用,2为镜像型引用),链接型引用变为1,镜像型引用变为2,并且在关联表中添加
2021-09-26 19:32:12 224
原创 【项目总结】站群CMS内容管理系统
CMS内容管理系统CMS是Content Management System的缩写,意为"内容管理系统"。 内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场。对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解。内容管理系统(content management system,CMS)是一种位于WEB 前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。这里指的“内容”可
2021-09-26 16:54:29 852
原创 1979. 找出数组的最大公约数
1979. 找出数组的最大公约数给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。两个数的 最大公约数 是能够被两个数整除的最大正整数。示例 1:输入:nums = [2,5,6,9,10]输出:2解释:nums 中最小的数是 2nums 中最大的数是 102 和 10 的最大公约数是 2示例 2:输入:nums = [7,5,6,8,3]输出:1解释:nums 中最小的数是 3nums 中最大的数是 83 和 8 的最大公约数是 1示例 3:输入:
2021-09-19 18:58:10 174
原创 315. 计算右侧小于当前元素的个数
315. 计算右侧小于当前元素的个数给你`一个整数数组 nums ,按要求返回一个新数组 counts 。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例 1:输入:nums = [5,2,6,1]输出:[2,1,1,0]解释:5 的右侧有 2 个更小的元素 (2 和 1)2 的右侧仅有 1 个更小的元素 (1)6 的右侧有 1 个更小的元素 (1)1 的右侧有 0 个更小的元素示例 2:输入:nums = [-
2021-09-19 18:53:09 136
原创 676. 实现一个魔法字典
676. 实现一个魔法字典设计一个使用单词列表进行初始化的数据结构,单词列表中的单词 互不相同 。 如果给出一个单词,请判定能否只将这个单词中一个字母换成另一个字母,使得所形成的新单词存在于你构建的字典中。实现 MagicDictionary 类:MagicDictionary() 初始化对象void buildDict(String[] dictionary) 使用字符串数组 dictionary 设定该数据结构,dictionary 中的字符串互不相同bool search(String se
2021-09-19 18:39:17 192
原创 1539. 第 k 个缺失的正整数
1539. 第 k 个缺失的正整数给你一个 严格升序排列 的正整数数组 arr 和一个整数 k 。请你找到这个数组里第 k 个缺失的正整数。示例 1:输入:arr = [2,3,4,7,11], k = 5输出:9解释:缺失的正整数包括 [1,5,6,8,9,10,12,13,…] 。第 5 个缺失的正整数为 9 。示例 2:输入:arr = [1,2,3,4], k = 2输出:6解释:缺失的正整数包括 [5,6,7,…] 。第 2 个缺失的正整数为 6 。提示:1 <= a
2021-09-19 18:16:26 190
原创 956. 最高的广告牌
956. 最高的广告牌你正在安装一个广告牌,并希望它高度最大。这块广告牌将有两个钢制支架,两边各一个。每个钢支架的高度必须相等。你有一堆可以焊接在一起的钢筋 rods。举个例子,如果钢筋的长度为 1、2 和 3,则可以将它们焊接在一起形成长度为 6 的支架。返回广告牌的最大可能安装高度。如果没法安装广告牌,请返回 0。示例 1:输入:[1,2,3,6]输出:6解释:我们有两个不相交的子集 {1,2,3} 和 {6},它们具有相同的和 sum = 6。示例 2:输入:[1,2,3,4,5,6
2021-09-19 17:13:56 99
原创 1748. 唯一元素的和
1748. 唯一元素的和给你一个整数数组 nums 。数组中唯一元素是那些只出现 恰好一次 的元素。请你返回 nums 中唯一元素的 和 。示例 1:输入:nums = [1,2,3,2]输出:4解释:唯一元素为 [1,3] ,和为 4 。示例 2:输入:nums = [1,1,1,1,1]输出:0解释:没有唯一元素,和为 0 。示例 3 :输入:nums = [1,2,3,4,5]输出:15解释:唯一元素为 [1,2,3,4,5] ,和为 15 。提示:1 <= nu
2021-09-12 20:52:13 456
原创 1903. 字符串中的最大奇数
1903. 字符串中的最大奇数给你一个字符串 num ,表示一个大整数。请你在字符串 num 的所有 非空子字符串 中找出 值最大的奇数 ,并以字符串形式返回。如果不存在奇数,则返回一个空字符串 “” 。子字符串 是字符串中的一个连续的字符序列。示例 1:输入:num = “52”输出:“5”解释:非空子字符串仅有 “5”、“2” 和 “52” 。“5” 是其中唯一的奇数。示例 2:输入:num = “4206”输出:""解释:在 “4206” 中不存在奇数。示例 3:输入:num
2021-09-12 20:44:14 254
原创 955. 删列造序 II
955. 删列造序 II给定由 n 个字符串组成的数组 strs,其中每个字符串长度相等。选取一个删除索引序列,对于 strs 中的每个字符串,删除对应每个索引处的字符。比如,有 strs = [“abcdef”, “uvwxyz”],删除索引序列 {0, 2, 3},删除后 strs 为[“bef”, “vyz”]。假设,我们选择了一组删除索引 answer,那么在执行删除操作之后,最终得到的数组的元素是按 字典序(strs[0] <= strs[1] <= strs[2] … <
2021-09-12 20:35:33 95
原创 # 57. 插入区间
57. 插入区间给你一个 无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入:intervals = [[1,3],[6,9]], newInterval = [2,5]输出:[[1,5],[6,9]]示例 2:输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]输出:[[1,2],[3,10],[1
2021-09-12 16:51:56 80
原创 项目总结-vue分页组件集成
项目总结-vue分页组件集成后台管理的大部分页面都需要对数据进行分页显示,但是在每个页面都写分页代码太过冗余,而且当分页出现问题时,需要修改每个页面,所以我集成了一个分页组件,在每个页面直接引用这个组件,就减少了代码的冗余程度,并且需要修改分页时,只需要修改这个组件,这样引用这个组件的每个页面就改变了,就不用再修改那么多页面了。组件集成<el-pagination @size-change="handleSizeChange" @current-change=
2021-09-09 19:32:53 101
原创 hash表和hashmap
hash表和hashmap一、哈希表哈希(hash)表:在哈希表中进行添加,删除,查找等操作,性能十分之高,不考虑哈希冲突的情况下(后面会探讨下哈希冲突的情况),仅需一次定位即可完成,时间复杂度为O(1),那么哈希表是如何实现使时间复杂度达到O(1)的。我们知道在数组中根据下标查找某个元素,一次定位就可以达到,哈希表就利用了这种特性,哈希表的主干就是数组。比如我们要新增或查找某个元素,我们通过把当前元素的关键字 通过某个函数映射到数组中的某个位置,通过数组下标一次定位就可完成操作。这个函数可以简单描述
2021-03-27 14:31:51 1325
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人