- 博客(66)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Sentinel 工作主流程
在 Sentinel 里面,所有的资源都对应一个资源名称以及一个 Entry。Entry 可以通过对主流框架的适配自动创建,也可以通过注解的方式或调用 API 显式创建;每一个 Entry 创建的时候,同时也会创建一系列功能插槽(slot chain)。这些插槽有不同的职责,例如:NodeSelectorSlot负责收集资源的路径,并将这些资源的调用路径,以树状结构存储起来,用于根据调用路径来限流降级;ClusterBuilderSlot则用于存储资源的统计信息以及调用者信息,例如该资源的 RT,
2023-04-13 14:56:48
711
1
原创 MySQL索引类型(type)分析
type索引类型system > const > eq_ref > ref > range > index > all优化级别从左往右递减,没有索引的⼀般为’all’。推荐优化目标:至少要达到 range 级别, 要求是 ref 级别, 如果可以是 const最好;index比all更优,但是并不明显,性能都很差。
2023-02-28 14:59:15
2397
原创 MYSQL 索引失效的十个场景(二)
mysql估计使用全表扫描要比使用索引快,则不使用索引。当表的索引被查询,会使用最好的索引,除非优化器使用全表扫描更有效。优化器优化成全表扫描取决与使用最好索引查出来的数据是否超过表的30%的数据。不要给'性别'等增加索引。如果某个数据列里包含了均是"0/1"或“Y/N”等值,即包含着许多重复的值,就算为它建立了索引,索引效果不会太好,还可能导致全表扫描。Mysql出于效率与成本考虑,估算全表扫描与使用索引,哪个执行快,会选择预估最优的方式(实际可能不是最优)
2023-02-25 08:00:00
662
原创 MYSQL 索引失效的十个场景(一)
对于or+score没有索引的这种情况,假设它走了name的索引,但是走到score查询条件时,它还得全表扫描,假如走索引也就是需要三步过程:全表扫描+索引扫描+合并。如果它一开始就走全表扫描,就只需一步;mysql的查询优化器,处于效率与成本考虑,遇到这种情况,明显全表扫描更合理。如果or条件的列都加了索引,索引有可能会走,也有可能不会走。
2023-02-24 08:30:00
539
原创 JAVA validation的使用
validation 在Java中运用最早在2009 年,Java 官方提出了 Bean Validation 规范,而后经历了JSR303、JSR349、JSR380 三次标准的更迭,发展到了 2.0。Bean Validation只提供规范,不提供具体的实现。因此实际使用过程,常用的是Hibernate validation和Spring Validator校验机制。
2023-02-24 08:00:00
2638
原创 MySQL 索引
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。索引分。
2023-02-23 09:46:37
185
原创 MySQL 正则表达式
MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。下表中的正则模式可应用于 REGEXP 操作符中。
2023-02-23 08:00:00
159
原创 MYSQL查询语句执行顺序
FROM 子句中写在最后的表(基础表 driving table)将被最先处理,即最后的表为驱动表,当FROM 子句中包含多个表的情况下,我们需要选择数据最少的表作为基础表。如果FROM子句包含两个以上的表,则对上一个联接生成的结果表和下一个表重复执行步骤1~3,直到处理完所有的表为止。中的在SELECT中出现的列筛选出来,并对字段进行处理,计算SELECT子句中的表达式,产生虚拟表。表的基础上添加保留表中被过滤条件过滤掉的数据,非保留表中的数据被赋予NULL值,最后生成虚拟表。应用WHERE筛选器。
2023-02-21 08:00:00
547
原创 MongoDB ObjectId
ObjectId结构ObjectId 是一个12字节 BSON 类型数据,有以下格式:前4个字节表示时间戳接下来的3个字节是机器标识码紧接的两个字节由进程id组成(PID)最后三个字节是随机数。MongoDB中存储的文档必须有一个"_id"键。这个键的值可以是任何类型的,默认是个ObjectId对象。在一个集合里面,每个文档都有唯一的"_id"值,来确保集合里面每个文档都能被唯一标识。MongoDB采用ObjectId,而不是其他比较常规的做法(比如自动增加的主键)的主要原因,因为在多个
2023-02-19 08:30:00
1237
原创 MongoDB 自动增长
MongoDB 没有像 SQL 一样有自动增长的功能, MongoDB 的 _id 是系统自动生成的12字节唯一标识。但在某些情况下,可能需要实现 ObjectId 自动增长功能。而MongoDB 并没有提供这个功能,那么可以通过编程的方式来实现_id字段自动增长。
2023-02-19 08:00:00
640
原创 MongoDB 使用规范与限制及最佳实践
MongoDB 灵活文档的优势灵活库/集合命名及字段增减同一字段可存储不同类型数据Json 文档可多层次嵌套文档对于开发而言最自然的表达MongoDB 灵活文档的烦恼数据库集合字段名千奇百怪同一字段数据类型各不一样业务异常可能写入“脏”数据
2023-02-18 08:30:00
1205
原创 高可用的“异地多活”架构设计
后台服务可以划分为两类,有状态和无状态。高可用对于无状态的应用来说是比较简单的,无状态的应用,只需要通过 F5 或者任何代理的方式就可以很好的解决。后文描述的主要是针对有状态的服务进行分析。服务端进行状态维护主要是通过磁盘或内存进行保存,比如 MySQL 数据库,redis 等内存数据库。除了这两种类型的维护方式,还有 jvm 的内存的状态维持,但jvm的状态生命周期通常很短。
2023-02-18 08:00:00
586
原创 MongoDB Map Reduce
Map-Reduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE)。MongoDB提供的Map-Reduce非常灵活,对于大规模数据分析也相当实用。
2023-02-17 08:30:00
349
原创 MongoDB 全文检索
全文检索对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。MongoDB 从 2.4 版本开始支持全文检索,目前支持15种语言的全文索引。
2023-02-17 08:00:00
564
原创 MongoDB 正则表达式
正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。MongoDB 使用操作符来设置匹配字符串的正则表达式。MongoDB使用PCRE (Perl Compatible Regular Expression) 作为正则表达式语言。不同于全文检索,我们使用正则表达式不需要做任何配置。
2023-02-16 16:37:24
1249
原创 MongoDB 查询分析
MongoDB 查询分析可以确保我们所建立的索引是否有效,是查询语句性能分析的重要工具。MongoDB 查询分析常用函数有:explain()
2023-02-16 13:39:01
510
原创 MongoDB 覆盖索引查询
MongoDB 覆盖索引查询官方的MongoDB的文档中对覆盖查询做了说明:所有的查询字段是索引的一部分所有的查询返回字段在同一个索引中由于所有出现在查询中的字段是索引的一部分, MongoDB 无需在整个数据文档中检索匹配查询条件和返回使用相同索引的查询结果。因为索引存在于RAM中,从索引中获取数据比通过扫描文档读取数据要快得多。
2023-02-15 17:44:16
470
原创 MongoDB 聚合
MongoDB 聚合MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。aggregate() 方法MongoDB中聚合的方法使用aggregate()。语法aggregate() 方法的基本语法格式如下所示:>db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)
2023-02-14 18:03:44
418
原创 MongoDB 索引
MongoDB 索引索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须全集合扫描选取符合查询条件的记录。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这通常时不可接收的。索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构createIndex() 方法MongoDB使用 createIndex() 方法来创建索引getIndexes() 方法MongoDB使用
2023-02-14 17:41:54
412
原创 MongoDB 插入文档
MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:db.COLLECTION_NAME.insert(document)或db.COLLECTION_NAME.save(document)save():如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用db.collection.insertOne()或db.collection.replaceOne()来代替。insert(): 若插入的数据主键已经存在,则会抛
2023-02-10 08:30:00
397
原创 MongoDB $type 操作符
$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。MongoDB 中可以使用的类型如下表所示:类型 数字 备注Double 1 String 2 Object 3 Array 4 Binary data 5 Undefined 6 已废弃。Object id 7 Boolean 8 Date 9 Null 10 Regular Expression 11 JavaScript 13 Symbol 14 JavaScript (with scope)
2023-02-10 08:00:00
123
原创 MongoDB 排序
MongoDB sort() 方法在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
2023-02-09 08:30:00
1570
原创 MongoDB Limit与Skip方法
MongoDB Limit() 方法在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。MongoDB Skip() 方法除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。
2023-02-09 08:00:00
1705
原创 MongoDB 概念解析
MongoDB 文档是一组键值(key-value)对(即 BSON)。MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。
2023-02-08 08:00:00
110
原创 MySql NULL值处理
MySQL NULL 值处理:提供了三大运算符:IS NULL:当列的值是 NULL,此运算符返回 true。IS NOT NULL:当列的值不为 NULL, 运算符返回 true。:比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。
2023-02-07 08:30:00
992
原创 JAVA网络编程(二)
同步和异步:同步和异步是针对应用程序和内核交互而言,同步指的是用户进程触发IO 操作并等待或者轮询的去查看IO 操作是否就绪,而异步是指用户进程触发IO 操作以后便开始做自己的事情,而当IO 操作已经完成的时候会得到IO 完成的通知。阻塞和非阻塞:阻塞和非阻塞是针对进程访问数据,根据IO操作的就绪状态来采取的不同方式,是一种读取或者写入操作方法的实现方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入方法会立即返回一个状态值。
2023-02-06 13:42:49
120
原创 Java 网络编程
网络编程是指编写运行在多个设备(计算机)的程序,这些设备通过网络进行连接。java.net 包中 J2SE 的 API 包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。java.net 包中提供了两种常见的网络协议的支持:TCP:TCP(Transmission Control Protocol,传输控制协议) 是一种面向连接的、可靠的、基于字节流的传输层通信协议,TCP 层是位于 IP 层之上,应用层之下的中间层。TCP 保障了两个应
2023-02-06 11:31:14
122
原创 JAVA 反射
反射是Java的特征之一,是一种间接操作目标对象的机制。JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制
2023-02-05 08:30:00
101
原创 JAVA 序列化
Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将对象序列化写入文件之后,可以从文件中读取出来对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。一个类的对象是否能够序列化成功,必须满足两个条件:该类必须实现 java.io.Serializable 接口。该类的所有属性必须是可序列化的。如果有一个属性不是可序列化的,则该属性必须注明是短
2023-02-05 08:00:00
98
原创 JAVA 泛型
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型。Java中的泛型仅仅是一个编译时的概念,在运行时,所有的泛型信息都被消除了,这被称为泛型擦除。使用泛型的好处:1、编译时的强类型检查。2、消除显示的类型强制转换。3、更好的代码复用性,比如实现泛型算法。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数
2023-02-04 08:30:00
121
企业政府企业进销存管理系统源码
2023-02-10
活动区域购物节签到抽奖小程序
2023-02-09
基于PHP实现的WEB图片共享系统(源代码+论文)
2023-02-09
PHP论文格式化系统-前台的设计与实现(源代码+论文)
2023-02-09
PHP课程网站络管理系统(源代码+论文)
2023-02-09
pHP信电系网站建设设计(源代码+论文)
2023-02-09
PHP网络数据包分析工具的设计与开发(源代码+论文)
2023-02-09
PHP校园二手信息网站的设计与开发(源代码+论文)
2023-02-09
PHP教材管理系统设计(源代码+论文)
2023-02-09
PHP基于Web的subversion用户管理系统(源代码+论文)
2023-02-09
PHP基于Linux的远程管理系统服务器端的实现(源代码+论文)
2023-02-09
php+mysql学生成绩查询系统(源代码+论文)
2023-02-09
PHP+SQL考勤系统安全性实现(源代码+论文+答辩PPT+指导书)
2023-02-09
PHP+SQL公共课平时成绩查询系统(源代码+论文+答辩PPT)
2023-02-09
蘑菇街⽀付体系架构与实践
2023-02-09
Flickr Architecture
2023-02-09
jdk-8u361-windows-x64
2023-03-06
jdk-8u361-windows-x64.exe
2023-03-06
jdk-8u361-macosx-x64.dmg
2023-03-06
毕业设计-分布式家庭理财系统-源码
2023-02-23
毕业设计-毕业设计管理系统-源码
2023-02-23
微信高并发资金交易系统设计方案-百亿红包背后的技术支撑
2023-02-17
多活之路-饿了么多活的数据通路
2023-02-17
蚂蚁金服异地多活与容灾
2023-02-17
微信小程序-麦当劳点餐-源码
2023-02-15
hibernate级联更新会把外键id设置为null,而是直接删除不关联的数据
2016-12-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅