摘要: 一、背景 直接从数据库查询所有数据,耗时、耗内存,改为分页查询部分数据 二、常规分页查询 1. mysql: limit 从第m条数据开始,查询n条数据 select * from table limit m,n 2. sql server: top+子查询 3. 原理:从数据库的第一条记录开始扫描 阅读全文
posted @ 2019-08-10 10:21 牧云文仔 阅读(2196) 评论(0) 推荐(0)
摘要: 一、简介 序列化:将Java对象转换为字节数组,便于存储或者传输 反序列化:将字节数组转换为Java对象 二、使用 1. 将Java类实现Serializable接口 2. 实现Externalizable接口,重写readExternal()、writeExternal()方法,可以指定哪个字段序 阅读全文
posted @ 2019-08-10 10:18 牧云文仔 阅读(532) 评论(0) 推荐(0)
摘要: 一、背景:数据库瓶颈,导致活跃连接数增加到极限,高并发+大数据 1. IO瓶颈 a. 磁盘:分库+垂直分表 b. 网络:分库 2. CPU瓶颈 a. sql语句:sql优化 b. 单标数据量大:水平分表 3. 单表200万数据以内 4. 单库并发连接数2000以内,最好1000 二、分库分表 1. 阅读全文
posted @ 2019-08-08 08:44 牧云文仔 阅读(162) 评论(0) 推荐(0)
摘要: 一、为什么引入索引 1. 数据库查询的时候,会进行全表扫描,即每行数据都进行比较 2. 创建了索引,相当于为数据创建了一个目录,避免了全表扫描,提高查询效率 二、索引是什么 1. 索引是一个数据结构,最常用的数据结构是平衡树,即B tree或者B+ tree;也有Hash索引,用hash表作为索引 阅读全文
posted @ 2019-08-06 23:47 牧云文仔 阅读(306) 评论(0) 推荐(0)
摘要: 一、思路 1. 监听端口:在服务器端创建一个ServerSocket对象,去监听某个端口 2. 创建连接:通过serverSocket.accept() 创建一个Socket对象,等待客户端连接,当有客户端连接到这个端口,Socket对象就创建成功 3. 接收消息:client.getInputSt 阅读全文
posted @ 2019-08-03 15:51 牧云文仔 阅读(2461) 评论(0) 推荐(0)
摘要: 一、涉及到的操作 缓存:读、写、更新、删除,这些操作可能失败 数据库:读、写、更新、删除,这些操作可能失败 二、正常流程 1. 读数据,先读缓存,命中返回数据;未命中读数据库,返回数据,写缓存;读数据不存在不一致问题 2. 写数据库,对缓存不做处理 3. 更新数据库数据,如果数据不在缓存中,不作处理 阅读全文
posted @ 2019-08-03 14:09 牧云文仔 阅读(1755) 评论(0) 推荐(0)
摘要: 一、代理模式 1. 概念:为一个对象提供一种代理,用代理控制对象的访问,而不是直接访问对象 2. 使用场景: a. 远程代理:位于两个不同的地址空间对象的访问 b. 虚拟代理:消耗资源较少的对象代表消耗资源多的对象 c. 缓冲代理:缓存 d. 保护代理:控制对一个对象的不同级别的访问权限 e. 智能 阅读全文
posted @ 2019-07-27 11:01 牧云文仔 阅读(234) 评论(0) 推荐(0)
摘要: 一、redis做消息队列 1. redis存储的list数据是双向链表实现的,可以作为队列 2. 使用lpush和rpop实现入队和出队 3. 每次使用lpush和rpop都要发起一次连接,性能不好 4. 这是一次生产,一次消费的队列 二、发布/订阅模式(publish/subscribe),也是作 阅读全文
posted @ 2019-06-23 16:28 牧云文仔 阅读(1937) 评论(0) 推荐(0)
摘要: 一、概念 1. 分片机制:允许数据存放在不同的机器上,对客户端透明 2. Redis分片机制:减轻单台Redis实例的压力,扩展存储能力和计算能力 二、预分片技术Pre-Sharding 1. Redis不支持动态分片操作,扩容和缩容都比较复杂 2. 预分片技术:Redis一开始就启动足够多的实例, 阅读全文
posted @ 2019-06-23 16:03 牧云文仔 阅读(3372) 评论(0) 推荐(0)
摘要: 一、主从模式:master-slave 1. 引入背景:单实例Redis由于数据量大性能会降低 2. master保证客户端的读写,slave保证与master的数据同步和客户端的读取,从而实现备份和读写分离 3. 只需手动要修改slave机器的配置文件即可;如果master挂了,可以升级slave 阅读全文
posted @ 2019-06-23 15:44 牧云文仔 阅读(409) 评论(0) 推荐(0)