08 2018 档案

MySQL表的四种分区类型
摘要:一、什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。 二、为什么要对表进行分区 为了改善大型表以及具有各种访问模式的表的 阅读全文

posted @ 2018-08-29 16:32 WeirdLang 阅读(494) 评论(0) 推荐(0)

Reids原理之IO模型
摘要:众所周知Redis是单进程单线程的应用,在如今多核横行的时代,我们不免有疑问,单线程的redis怎么就成了高性能的代表 当有多个线程同时调用redis的时候,那么单线程的redis是怎么处理的呢,这里就不得不说redis内部的IO模型 首先要提到几个概念,阻塞IO,非阻塞IO,同步IO,异步IO,多 阅读全文

posted @ 2018-08-29 14:39 WeirdLang 阅读(1377) 评论(0) 推荐(0)

缓存穿透和缓存雪崩问题
摘要:缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决办法: 1 阅读全文

posted @ 2018-08-29 14:21 WeirdLang 阅读(178) 评论(0) 推荐(0)

MySQL主从复制(Master-Slave)实践
摘要:MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能。 下图就描述了一个多个数据库间主从复制与读写分离的模型(来源网络): 在一主多从的数据库体系中,多个从服务器采用异步的方式更 阅读全文

posted @ 2018-08-23 11:19 WeirdLang 阅读(193) 评论(0) 推荐(0)

MySQL索引原理以及查询优化
摘要:1.什么是索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。 2.为什么要有索引呢? 索引在MySQL中也叫做“ 阅读全文

posted @ 2018-08-21 17:21 WeirdLang 阅读(238) 评论(0) 推荐(0)

前后端分离,如何防止api接口被恶意调用或攻击
摘要:无论网站,还是App目前基本都是基于api接口模式的开发,那么api的安全就尤为重要了。目前攻击最常见的就是“短信轰炸机”,由于短信接口验证是App,网站检验用户手机号最真实的途径,使用短信验证码在提供便利的同时,也成了呗恶意攻击的对象,那么如何才能防止被恶意调用呢? 1.图形验证码: 将图形校验码 阅读全文

posted @ 2018-08-21 14:31 WeirdLang 阅读(15019) 评论(1) 推荐(2)

线程池为什么能维持线程不释放,随时运行各种任务
摘要:线程池 之前一直有这个疑问:我们平时使用线程都是各种new Thread(),然后直接在run()方法里面执行我们要做的各种操作,使用完后需要做什么管理吗?线程池为什么能维持住核心线程不释放,一直接收任务进行处理呢? 线程 线程无他,主要有两个方法,我们先看看start()方法介绍: /** * C 阅读全文

posted @ 2018-08-15 14:09 WeirdLang 阅读(5608) 评论(3) 推荐(2)

ConcurrentHashMap能完全替代HashTable吗?
摘要:至此你应该能够明白,ConcurrentHashMap与HashTable都可以用于多线程的环境,但是当Hashtable的大小增加到一定的时候,性能会急剧下降,因为迭代时需要被锁定很长的时间。因为ConcurrentHashMap引入了分割(segmentation),不论它变得多么大,仅仅需要锁 阅读全文

posted @ 2018-08-13 09:28 WeirdLang 阅读(546) 评论(0) 推荐(0)

java中内存泄露有几种?如何分析泄露原因
摘要:一、Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会 阅读全文

posted @ 2018-08-10 09:52 WeirdLang 阅读(2103) 评论(0) 推荐(0)