摘要:
1、 socket并不是一个协议,Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,提供一套调用TCP/IP协议的API。 当两台主机通信时,必须通过Socket连接,Socket则利用TCP/IP协议建立TCP连接。TCP连接则更依靠于底层的IP协议,IP协议的连接则依赖 阅读全文
摘要:
1、 第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。 SYN:同步序列编号(Synchronize Sequence Numbers) 2、 第二次握手:Server收到数据包后由标 阅读全文
摘要:
一、 Consul 1、 对服务方提供服务注册、并对注册的服务做心跳检查,然后对调用方提供服务地址集合,客户端自由选择要调用的服务。 2、 consul集群中的consul节点有两种模式,一种是client:内存模式,保存的服务集合放在内存里,不会持久化。另一种是server:服务集合最后会保存在硬 阅读全文
摘要:
1、 伪静态:把前端请求动态页面如api/good?id=1,改成api/good1.html。api/good1.html经过nginx时可以rewrite成api/good/1。这样的好处是对搜索引擎友好(seo) 2、 静态化: A、 第一次请求时从数据库取出数据,拼装成html页面,存进静态 阅读全文
摘要:
1、 创建一个新容器(不占用当前窗口):docker run -d –name 容器名字 镜像 2、 查看容器日志:docker logs 容器id 3、 进入容器内部:docker exec -it 容器 /bin/bash 4、 暴力删除容器:docker rm -f 容器id 5、 查看容器信 阅读全文
摘要:
mysql分区属于水平切分,如果有主键必须使用主键来分区,查询结果如果跨分区会自动合并 A、 range分区: 必须使用主键来分区,数据分配不均匀 alter table user partition by range(id) ( partition p1 values less than (1), 阅读全文
摘要:
一、索引优化技巧 A、 复合索引中,范围查找之后的索引会失效(select id from u where a=1 and b>2 and c=3,这条sql语句中,如果有(a,b,c)的复合索引,c的索引失效) B、 一张表最好不要创建超过5个索引,尽量用复合索引 C、 左连接将索引创建在右表上合 阅读全文
摘要:
可以分析sql语句的类型、有没有使用到索引、分区 A、 id字段:id相同:id越靠前的表越先执行;id不同:id越大的表越先执行 B、 select_type 字段: simple: 简单的 select 查询,查询中不包含子查询或者 union primary:查询条件中包含有子查询时最外层的表 阅读全文
摘要:
1、 聚集索引:其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字。 阅读全文
摘要:
1、前端: 点击按钮后设置为不可用,提交成功后跳转到其他页面 2、后端: A、 在方法前弄一个action filter,对请求ip、传入参数、user-agent这些信息MD5成一个摘要,然后存redis里,设置几秒后过期。拒绝过期前这段时间过来的相同摘要的请求 B、当客户端要展示表单页面数据的接 阅读全文