mysql EXPLAIN说明
EXPLAIN说明
列名
类型
解释
id
SELECT语句的ID编号,优先执行编号较大的查询,如果编号相同,则从上向下执行
select_type
SIMPLE
一条没有UNION或子查询部分的SELECT语句
PIMARY
最外层或最左侧的SELECT语句
UNION
UNION语句里的第二条或最后一条SELECT语句
DEPENDENT UNION
和UNION类型的含义相似,但需要依赖于某个外层查询
UNION RESULT
一条UNION语句的结果
SUBQUERY
子查询中的第一个SELECT子句
...
Elasticsearch
基本概念Node 与 Cluster
Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例。
单个 Elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。
Index
Elastic 会索引所有字段,经过处理后写入一个反向索引(Inverted Index)。查找数据的时候,直接查找该索引。
所以,Elastic 数据管理的顶层单位就叫做 Index(索引)。它是单个数据库的同义词。每个 Index (即数据库)的名字必须是小写。
下面的命令可以查看当前节点的所有 Index:$ curl -X GET 'http://localhost:9200/_cat/indices?v'
Document
Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。
Document 使用 JSON 格式表示,下面是一个例子。 12345{ "user": "张三", &qu ...
mysql关键字大全
关键字大全在使用MySQL的时候,一般尽量避免用关键字作为表名【如果非要使用这些关键字,则需要在关键前后添加 keyword 反引号以示区分】
下面列出MySQL所有关键字,希望给使用MySQL的朋友提供一些参考帮助。
ADD
ALL
ALTER
ANALYZE
AND
AS
ASC
ASENSITIVE
BEFORE
BETWEEN
BIGINT
BINARY
BLOB
BOTH
BY
CALL
CASCADE
CASE
CHANGE
CHAR
CHARACTER
CHECK
COLLATE
COLUMN
CONDITION
CONNECTION
CONSTRAINT
CONTINUE
CONVERT
CREATE
CROSS
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURSOR
DATABASE
DATABASES
DAY_HOUR
DAY_MICROSECOND
DAY_MINUTE
DAY_SECOND
DEC
DECIMAL
DECLARE ...
EL表达式
EL表达式概述什么是EL表达式?EL(Expression Language,表达式语言),是一种写法非常简洁的表达式,语法简单易懂,便于使用。
表达式语言的灵感来自于ECMAScript和XPath表达式语言。
EL表达式的作用让jsp书写起来更加的方便。简化在jsp中获取作用域数据或者请求数据的写法。也会搭配Jstl来进行使用。
EL的特点EL除了具有语法简单、使用方便的特点,还具有以下特点:
(1)EL可以与JSTL结合使用,也可以与JavaScript语句结合使用。
(2)EL中会自动进行类型转换。如果想通过EL输入两个字符串型数值(例如,number1和number2)的和,可以直接通过+号进行连接(例如,${number1+number2})。
(3)EL不仅可以访问一般变量,而且还可以访问JavaBean中的属性以及嵌套属性和集合对象。
(4)在EL中可以执行算术运算、逻辑运算、关系运算和条件运算等。
(5)在EL中可以获得命名空间(PageContext对象,它是页面中所有其它内置对象的最大范围的集成对象,通过它可以访问其它内置对象)。
(6) ...
事务@Transactional详解
@Transactional详解引言@Transactional注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用@Transactional注解时需要注意许多的细节,不然你会发现@Transactional总是莫名其妙的就失效了。
一、事务事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。
编程式事务是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例:
1234567try { //do something transactionManager.commit(status);} catch (Exception e) { transactionManager.rollback(status); throw new InvoiceApplyException("异常失败");}
声明式事务基于AOP面向切面的,它将具体业务与事务处理部分解耦,代码侵入性很低, ...
MongoDB教程
MongoDB概念MongoDB教程(菜鸟教程)
MongoDB是由C++语言编写的一种NoSQL,是一个基于分布式文件存储的开源数据库系统。
MongoDB的目的是为Web应用提供可扩展的高性能数据存储解决方案。
MongoDB将数据存储为一个文档,数据结构由键值(key-value)对组成。
SQL术语/概念
MongoDB术语/概念
解释/说明
database
database
数据库
table
collection
数据库表/集合
row
document
数据记录行/文档
column
field
数据字段/域
index
index
索引
table joins
表连接,MongoDB不支持
primary key
primary key
主键,MongoDB自动将_id字段设置为主键
文档(Document)
文档是一组键值(key-value)对(即BSON)。MongoDB的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是MongoDB非常突出的特点。
需要注意 ...
Cron表达式
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: 123Seconds Minutes Hours DayofMonth Month DayofWeek YearSeconds Minutes Hours DayofMonth Month DayofWeek秒 分钟 小时 日期 月份 周 年
每一个域可出现的字符如下:
所有域都支持:, - * /
每个域还额外支持:
Seconds:有效范围为0-59的整数
Minutes:有效范围为0-59的整数
Hours:有效范围为0-23的整数
DayofMonth:"? L W C",有效范围为0-31的整数
Month:有效范围为1-12的整数或JAN-DEC
DayofWeek:"? L C #",有效范围为1-7的整数或SUN-SAT两个范围。1表示星期天,2表示星期一,依次类推
Year:有效范围为1970-2099年
每一个域都可使用数字, ...
正则表达式
正则表达式概述:
就是一套规则,一种匹配模式,要么匹配字符,要么匹配位置。
正则表达式是专门解决字符串规则匹配的工具。
正则表达式也是一个字符串,用来定义匹配规则。
参照帮助文档,在Pattern类中有简单的规则定义,可以结合字符串类的方法使用。
正则表达式的匹配规则:正则表达式中明确区分大小写字母。
正则表达式速查手册
字符
描述
举例
字符类:
^ $
代表正则的头和尾
x
代表的是字符’x’
匹配规则为”a”,那么需要匹配的字符串内容就是”a”
*\*
代表的是反斜线字符’\‘
匹配规则为”\“ ,那么需要匹配的字符串内容就是”\“
a|b
匹配a或b
匹配规则为”z|food”能匹配”z”或”food”。”(z|f)ood”则匹配”zood”或”food”
[abc]
代表的是字符a、b或c
匹配规则为”[abc]” ,那么需要匹配的内容就是字符a,或者字符b,或字符c的一个
[^abc]
代表的是除了a、b或c以外的任何字符
匹配规则为”[^abc]”,那么需要匹配的内容就是不是字符a,或者不是字符b,或不是字符c的任意一个字符
...
一文整明白Cookie、Session、Token
CookiesCookies是由服务器产生的。
Cookie就是服务器委托浏览器存储在客户端(浏览器)里的一些数据,而这些数据通常都会记录用户的关键识别信息。
Cookie 产生的过程:
浏览器第一次访问服务端时,服务器此时肯定不知道他的身份,所以创建一个独特的身份标识数据,格式为key=value,放入到Set-Cookie字段里,随着响应报文发给浏览器。
浏览器看到有Set-Cookie字段以后就知道这是服务器给的身份标识,于是就保存起来,下次请求时会自动将此key=value值放入到Cookie字段中发给服务端。
服务端收到请求报文后,发现Cookie字段中有值,就能根据此值识别用户的身份然后提供个性化的服务。
SessionCookie是存储在客户端方,Session是存储在服务端方,客户端只存储SessionId。
如果将账户的一些信息都存入Cookie中的话,一旦信息被拦截,那么我们所有的账户信息都会丢失掉。
所以就出现了Session,在一次会话中将重要信息保存在Session中,浏览器只记录 SessionId,一个SessionId对应一次会话请求。
那么Ses ...
设计模式|⑨桥接模式
GOF23共有23种设计模式,前面我们讲了不到十种,但其实,我个人觉得,前面已经讲过这几篇可以说是GOF23中最重要的几个模式,时间确实隔得比较长了,如果之前读者们没有阅读过的,可以去回顾一下。
后面的模式虽然还有很多,但是用的都不是太多,而且总体感觉难度都不是特别大,除了个别模式,比如访问者模式、解释器模式等稍微有点难懂,其它的模式要不就是实战中用的极少,要不难度不是很大,所以首先需要恭喜大家其实设计模式最大的难关已经过了。接下去的文章我挑选一些重点讲一下我自己学习中的一些理解,对于一些无关紧要的细节我就一带而过,甚至就不讲了。网上对于每一个模式你都可以搜到非常丰富的资料和讲解,但是我个人觉得花20%精力学好80%知识即可。
那么,下面不多废话,开始今天的话题,今天开始接下去还是聊结构型模式中剩余4个模式,这四个模式用的不多,我个人对其理解也不是太深,所以接下去的内容只谈谈我个人对这几个模式的一些看法。
首先,今天我们先说桥接模式。
关于桥接模式的定义,我在准备素材时Google搜了一下,基本得到的都是一句话,
桥接模式(Bridge Pat ...