06 2019 档案

摘要:索引 正向索引(forward index),反向索引(inverted index)更熟悉的名字是倒排索引。 正向索引 在搜索引擎中每个文件都对应一个文件ID,文件内容被表示为一系列关键词的集合。例如“文档1”经过分词,提取了20个关键词,每个关键词都会记录它在文档中的出现次数和出现位置。 得到正 阅读全文
posted @ 2019-06-28 18:11 马崮蚂蚁哥 阅读(152) 评论(0) 推荐(0) 编辑
摘要:redis和memcache的比较 1 、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储; 2 、Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘; 3 、memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化 阅读全文
posted @ 2019-06-25 10:28 马崮蚂蚁哥 阅读(308) 评论(0) 推荐(0) 编辑
摘要:Keepalived Keepalived是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服 阅读全文
posted @ 2019-06-24 14:45 马崮蚂蚁哥 阅读(211) 评论(0) 推荐(0) 编辑
摘要:LVS LVS(Linux Virtual Server)即Linux虚拟服务器 目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案 终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器 阅读全文
posted @ 2019-06-24 14:43 马崮蚂蚁哥 阅读(220) 评论(0) 推荐(0) 编辑
摘要:美团dbproxy只支持mysql 读写分离 负载均衡 分库分表 IP过滤 sql黑名单 支持DB平滑上下线 限制总连接数 阿里Mycat 读写分离 分库分表 ...... 阅读全文
posted @ 2019-06-24 14:03 马崮蚂蚁哥 阅读(200) 评论(0) 推荐(0) 编辑
摘要:1、使用不等于操作符(, !=) 大于可以、小于可以,between and 也可以 2、使用 is null 或 is not null 任何包含null值的列都将不会被包含在索引中。 解决这个问题的办法就是:建表时把需要索引的列 定义为非空(not null) 3、索引列使用函数或计算 WHER 阅读全文
posted @ 2019-06-24 10:10 马崮蚂蚁哥 阅读(176) 评论(0) 推荐(0) 编辑
摘要:二叉搜索树 每个节点只存储一个关键字, 每个节点最多有两个子节点, 左子节点存储的关键字小于本节点存储的关键字 右子节点存储的关键字大于本节点存储的关键字 搜索时,从根节点开始搜索,小于走左结点,大于走右结点,等于则命中; 平衡二叉树 在原二叉搜索树的基础上加上平衡算法,即为平衡二叉树 平衡算法 平 阅读全文
posted @ 2019-06-20 20:43 马崮蚂蚁哥 阅读(972) 评论(0) 推荐(1) 编辑
摘要:二叉搜索树 每个节点只存储一个关键字, 每个节点最多有两个子节点, 左子节点存储的关键字小于本节点存储的关键字 右子节点存储的关键字大于本节点存储的关键字 搜索时,从根节点开始搜索,小于走左结点,大于走右结点,等于则命中; 平衡二叉树 在原二叉搜索树的基础上加上平衡算法,即为平衡二叉树 平衡算法 平 阅读全文
posted @ 2019-06-20 12:12 马崮蚂蚁哥 阅读(175) 评论(0) 推荐(0) 编辑
摘要:1、myisam只支持表级锁 Innodb支持行级锁 2、myisam不支持事务 Innodb支持事务 3、myisam不支持外键 Innodb支持外键 4、myisam支持全文索引,Innodb不支持 5、myisam本身存储了表的总数据行,Innodb没有存储,查总行数myisam更快,如果加了 阅读全文
posted @ 2019-06-19 20:38 马崮蚂蚁哥 阅读(4260) 评论(0) 推荐(0) 编辑
摘要:常用数据库的默认隔离级别 MySQL的默认隔离级别是Repeatable Oracle的默认隔离级别是Read committed 事务的隔离级别 1、未提交读(Read uncommitted) 2、提交读(Read committed) 3、可重复读(Repeatable reads) 4、可序 阅读全文
posted @ 2019-06-19 20:08 马崮蚂蚁哥 阅读(588) 评论(0) 推荐(0) 编辑
摘要:在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹; 而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开; 而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服 阅读全文
posted @ 2019-06-19 18:03 马崮蚂蚁哥 阅读(275) 评论(0) 推荐(0) 编辑
摘要:1、CopyOnWrite (1)、在写操作的线程,会将数组复制出来一份进行操作。而原本的数组不会做改变。 (2)读线程则不会受到影响,但是可能读到的是一个过期的数据。 在juc(java.util.concurrent)包下有着这么两个类,CopyOnWriteArrayList 和 CopyOn 阅读全文
posted @ 2019-06-19 16:01 马崮蚂蚁哥 阅读(112) 评论(0) 推荐(0) 编辑
摘要:方法一:基于数据库生成 A库、B库、C库支持同时写入 A库初始值为1,自增为3,获取的值一次是1、4、7 B库初始值为2,自增为3,获取的值一次是2、5、8 C库初始值为3,自增为3,获取的值一次是6、6、9 获取ID时可从三库轮询获取 优点 此方法使用数据库原有的功能,所以相对简单 能够保证唯一性 阅读全文
posted @ 2019-06-19 14:22 马崮蚂蚁哥 阅读(953) 评论(0) 推荐(0) 编辑
摘要:rabbitmq如何保证消息的可靠性 1、保证消息不丢失 1.1、开启事务(不推荐) 1.2、开启confirm(推荐) 1.3、开启RabbitMQ的持久化(交换机、队列、消息) 1.4、关闭RabbitMQ的自动ack(改成手动) 2、保证消息不重复消费 2.1、幂等性(每个消息用一个唯一标识来 阅读全文
posted @ 2019-06-19 11:13 马崮蚂蚁哥 阅读(3556) 评论(0) 推荐(0) 编辑
摘要:容易混淆的内容 1、JVM内存模型 2、Java内存模型 3、Java对象模型 JVM内存模型 1、堆 2、虚拟机栈 3、本地方法栈 4、程序计数器 5、方法区 Java内存模型 Java堆和方法区的区域是多个线程共享的数据区域。也就是说,多个线程可能可以操作保存在堆或者方法区中的同一个数据。这也就 阅读全文
posted @ 2019-06-18 17:38 马崮蚂蚁哥 阅读(270) 评论(0) 推荐(0) 编辑
摘要:JVM的五大内存区域 1、程序计数器 2、方法区(也称为永久代,后续被Metaspace取代) 3、虚拟机栈 4、本地方法栈 5、堆 1、程序计数器 记录线程的执行位置,线程私有内存 在多线程的情况下,线程被切换回来的时候能够知道该线程上次运行到哪儿了 2、方法区 方法区是所有线程共享的内存区域,用 阅读全文
posted @ 2019-06-18 14:59 马崮蚂蚁哥 阅读(912) 评论(1) 推荐(2) 编辑
摘要:什么是一致性hash算法 一致性哈希算法在1997年由麻省理工学院提出,是一种特殊的哈希算法,目的是解决分布式缓存的问题。 在移除或者添加一个服务器时,把影响降到最低。一致性哈希解决了简单哈希算法中存在的动态伸缩等问题。 一致性哈希算法的应用 一致性哈希算法在分布式缓存领域的 MemCached,负 阅读全文
posted @ 2019-06-18 10:08 马崮蚂蚁哥 阅读(204) 评论(0) 推荐(1) 编辑
摘要:注册中心规则 每一个微服务启动的时候,都需要去注册中心注册(eureka或zookeeper或其他) 同类服务注册的服务名必须相同,不同类服务注册的服务名一定不能相同 (订单服务部署5台服务器,那么这5台微服务在注册中心中注册的服务名必须一致,例如ORDER) (商品服务部署4台服务器,那么这4台微 阅读全文
posted @ 2019-06-13 20:20 马崮蚂蚁哥 阅读(18285) 评论(1) 推荐(2) 编辑
摘要:什么是ribbon? Ribbo是一个基于HTTP和TCP的客户端负载均衡器 什么是客户端负载均衡? 客户端负载均衡和服务端负载均衡最大的区别在于服务清单所存储的位置。 在客户端负载均衡中,所有的客户端节点都有一份自己要访问的服务端清单,客户端在发起请求的时候会先自行选择一个服务端,向该服务端发起请 阅读全文
posted @ 2019-06-13 17:30 马崮蚂蚁哥 阅读(459) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示