01 2020 档案

摘要:简介:分布式事务指事务的参与者、支持事务的服务器、资源服务器、事务管理器分别位于不同的分布式系统的不同节点之上。本地事务是解决单个数据源上的数据操作的一致性,分布式事务是为了解决跨越多个数据源上数据操作的一致性问题。 一、分布式理论 1. ACID特性:原子性(A)、 一致性(C)、 隔离性(I)、 阅读全文
posted @ 2020-01-23 11:58 如幻行云 阅读(460) 评论(0) 推荐(0) 编辑
摘要:一、Redis为什么这么快 1. IO多路复用 A. IO指网络IO,多路指的是多个TCP连接(Socket或Channel),复用指复用一个或多个线程; B. select:一个线程处理多个客户端连接,又减少了系统调用的开销,即多个文件描述符只有一次select的系统调用 +n 次就绪状态的文件描 阅读全文
posted @ 2020-01-22 12:33 如幻行云 阅读(184) 评论(0) 推荐(0) 编辑
摘要:简介:由于单个redis存在不稳定性,而且读写能力是有限的,所以集群是为了强化redis的读写能力。 一、集群 1. 集群原理 A. Redis Cluster采用无中心结构,每个节点保存数据和整个集群状态; B. 所有的Redis节点彼此互联(ping-pong机制),内部使用二进制协议优化传输速 阅读全文
posted @ 2020-01-18 17:37 如幻行云 阅读(533) 评论(0) 推荐(0) 编辑
摘要:简介:缓存机制能避免请求过多的直接与数据库操作,从而造成系统瓶颈,极大的提升了用户体验和系统稳定性。虽然给系统带来了一定质的提升,但是也带来一些问题。 1. 缓存一致性 A. 定义:当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出 阅读全文
posted @ 2020-01-18 17:25 如幻行云 阅读(172) 评论(0) 推荐(0) 编辑
摘要:问题1:Redis存取数据为什么快呢? 答:A. 完全基于内存操作; B. C语言实现,优化过的数据结构,基于几种基础的数据结构,redis做了大量的优化,性能极高; C. 使用单线程,无上下文的切换成本; D. 基于非阻塞的IO多路复用机制。 问题2:如何保证Redis高可用和高并发? 答:A. 阅读全文
posted @ 2020-01-18 16:07 如幻行云 阅读(138) 评论(0) 推荐(0) 编辑
摘要:简介:Redis是Remote Dictionary Server的简写,由ANSI C语言编写,它是一种key-value形式的NoSql内存数据库,并提供多种语言的API;单线程架构,数据存放内存,故读写速度性能非常好;当然也支持内存中数据以快照和日志形式持久化到硬盘,从而在发生异常情况下数据也 阅读全文
posted @ 2020-01-18 16:00 如幻行云 阅读(216) 评论(0) 推荐(0) 编辑
摘要:问题1:Spring事务失效的场景? 答:A. 数据库引擎不支持事务; B. 没有纳入Spring管理范围; C. 注解所在的方法不是public修饰的; D. 发生了自调用问题; E. 所用数据源没有配置事务管理器; F. 异常被捕捉或抛异常错误; G. 引入shiro中权限注解; H. 发生了S 阅读全文
posted @ 2020-01-18 14:19 如幻行云 阅读(162) 评论(0) 推荐(0) 编辑
摘要:问题1:MyBatis一级、二级缓存机制? 答:一级缓存: A. 基于PerpetualCache的HashMap本地缓存,其存储作用域为Session级别,其生存时间一般很短; B. 当SqlSession close之后,该SqlSession中的所有Cache就将清空,默认是开启一级缓存; C 阅读全文
posted @ 2020-01-18 12:41 如幻行云 阅读(230) 评论(0) 推荐(0) 编辑
摘要:一、Mapper映射文件(XML) 1. mapper标签:最顶层的配置元素; A. namespace属性:指向Dao接口的全限定类名; 2. resultMap标签:建立数据库表的列名与po类字段之间的映射关系,主要用于高级复杂的映射,如数据库表列名与类名对应不上; A. id元素:用于标识ja 阅读全文
posted @ 2020-01-17 16:36 如幻行云 阅读(1220) 评论(0) 推荐(0) 编辑
摘要:一、Search API 1. search:官网Search API A. 请求:GET / POST /<index>/_search | /_search { "query": {<parameters>} } 请求参数:index是索引名称,多个以逗号分隔 parameters是DSL语句, 阅读全文
posted @ 2020-01-16 15:51 如幻行云 阅读(698) 评论(0) 推荐(0) 编辑
摘要:1. cluster stats:集群统计信息,如jvm版本、内存使用、cpu等 A. 请求:GET /_cluster/stats | GET /_cluster/stats/nodes/<node_id> 路径参数:node_id是节点ID或名称,多个以逗号分隔 B. 结果信息 nodes下字段 阅读全文
posted @ 2020-01-14 17:21 如幻行云 阅读(639) 评论(1) 推荐(0) 编辑
摘要:简介:由于考虑到项目后期分布式部署,所以缓存由ehcache改为redis,而redis既有单机版部署,也有分布式部署,所以二者需要兼容。 1. maven依赖 <dependency> <groupId>org.crazycake</groupId> <artifactId>shiro-redis 阅读全文
posted @ 2020-01-11 08:41 如幻行云 阅读(2142) 评论(0) 推荐(0) 编辑
摘要:1. cat Allocation:提供分配给每个数据节点的分片数量及磁盘空间的快照 A. 请求:GET /_cat/allocation/<node_id> | GET /_cat/allocation 路径参数 node_id:节点ID或名称,多个以逗号分隔; B. 查询参数 bytes:用于显 阅读全文
posted @ 2020-01-10 08:59 如幻行云 阅读(420) 评论(0) 推荐(0) 编辑
摘要:简介:Elasticsearch是基于Apache Lucene的开源搜索引擎,采用Java语言开发的,它提供了一个分布式、高扩展、高实时能力的全文搜索与数据分析引擎,适合作为Nosql数据存储,但缺少分布式事务。ES通过简单的Restful Api来隐藏Lucence的复杂性,从而让全文搜索变得简 阅读全文
posted @ 2020-01-10 08:16 如幻行云 阅读(823) 评论(0) 推荐(0) 编辑
摘要:1. 实现方式 A. Timer:JDK自带的一个定时调度类,可以简单的实现按某一频度进行任务执行,但不能在指定时间运行; B. ScheduledExecutorService:JDK自带的一个基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行; C. Spring Tas 阅读全文
posted @ 2020-01-08 08:34 如幻行云 阅读(313) 评论(0) 推荐(0) 编辑
摘要:一、配置文件 1. 配置文件分类 A. 按作用分类 application:由ApplicationContext加载的,用于spring boot项目的自动化配置; bootstrap:由父ApplicationContext加载的,比applicaton优先加载,且boostrap里面的属性不能 阅读全文
posted @ 2020-01-05 15:27 如幻行云 阅读(12300) 评论(0) 推荐(0) 编辑
摘要:1. 邮件与协议 A. smtp(简单邮件传输协议):smtp是Simple Mail Transfer Protocol缩写,它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式,smtp认证要求必须提供账号和密码才能登陆服务器,其目的是避免用户受到垃圾邮件的干扰; B. po 阅读全文
posted @ 2020-01-05 11:59 如幻行云 阅读(1040) 评论(0) 推荐(0) 编辑
摘要:1. 跨域(多出现在前后端分离项目中) (1) 跨域介绍可参考:跨域(CORS) (2) SpringBoot中解决跨域方式有: A. 使用@CrossOrigin注解; B. 实现Filter类,重写doFilter方法 package com.ruhuanxingyun.config; impo 阅读全文
posted @ 2020-01-04 07:59 如幻行云 阅读(743) 评论(0) 推荐(1) 编辑
摘要:简介:用户访问资源时,每次都要进行权限认证,若去查询数据库,则会造成一定的压力。由于实际情况下,用户的权限一般不会发生改变,所以适合做缓存处理。单节点部署适合用ehcache缓存,若是分布式多节点部署,则应使用redis缓存 1. maven依赖 <dependency> <groupId>org. 阅读全文
posted @ 2020-01-02 08:32 如幻行云 阅读(4089) 评论(0) 推荐(0) 编辑