<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[多多说happy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/da_guo_li</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; da_guo_li]]></copyright><item><title><![CDATA[【MySQL】漫谈MySQL体系结构]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/80280289</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/80280289</guid><author>da_guo_li</author><pubDate>Fri, 11 May 2018 22:16:32 +0800</pubDate><description><![CDATA[背景    了解MySQL的架构图，对MySQL有一个整体的把握，对于以后深入理解MySQL是有很大帮助的。比如：很多查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行。 MySQL从概念上分为四层，如下图:这四层分别是网络连接层，服务层（核心层），存储引擎层，系统文件层。我们自顶向下开始讲解。网络接入层主要负责连接管理、授权认证、安全等等。    每个客户端连接都对...]]></description><category></category></item><item><title><![CDATA[【JavaSE】Java包装类型的Cache机制]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/80212382</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/80212382</guid><author>da_guo_li</author><pubDate>Sun, 06 May 2018 10:38:07 +0800</pubDate><description><![CDATA[本文将介绍 Java 中 Integer 缓存（IntegerCache）的相关知识。这是 Java 5 中引入的一个有助于节省内存、提高性能的特性。首先看一个使用 Integer 的示例代码，展示了 Integer 的缓存行为。接着我们将学习这种实现的原因和目的。]]></description><category></category></item><item><title><![CDATA[【Laravel】Eloquent ORM的底层实现]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/79115695</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/79115695</guid><author>da_guo_li</author><pubDate>Sun, 21 Jan 2018 19:07:42 +0800</pubDate><description><![CDATA[动机

首先来说一个Eloquent ORM的设计思想:Eloquent ORM就是将数据库中复杂的数据结果封装成更加smart的接口提供给用户使用。数据库中每一个表对应一个类，而类的实例对应数据库表中的一行记录，数据库中的列值会对应到类的属性上。一直在使用这个东西，之前并没有深入去了解过，借这个机会查阅了Laravel底层的源码。


笔者的环境：Laravel5.5, Sublime]]></description><category></category></item><item><title><![CDATA[【MySQL】MySQL数据类型宽度]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/79011718</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/79011718</guid><author>da_guo_li</author><pubDate>Tue, 09 Jan 2018 21:33:14 +0800</pubDate><description><![CDATA[MySQL中整数数据类型










上图：MySQL的整数类型

MySQL中数据类型的显示宽度



显示宽度只是指明MYSQL最大可能显示的数字个数，数值的位数小于指定的宽度时会有空格填充，取决于你的设置。如果插入了大于显示宽度的值，只要该值不超过该类型的取值范围，数值依然可以插入显示出来。






创建表时，可以在INT后面加入数]]></description><category></category></item><item><title><![CDATA[【MySQL】SQL执行计划分析]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/79008016</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/79008016</guid><author>da_guo_li</author><pubDate>Tue, 09 Jan 2018 09:15:30 +0800</pubDate><description><![CDATA[MySQL EXPLAIN命令是查询性能优化不可缺少的一部分，该文主要讲解explain命令的使用及相关参数说明。]]></description><category></category></item><item><title><![CDATA[【MySQL】常见的业务处理-删除重复数据]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/79008457</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/79008457</guid><author>da_guo_li</author><pubDate>Mon, 08 Jan 2018 23:51:55 +0800</pubDate><description><![CDATA[业务场景




日常工作中我们经常会遇到这样的场景删除数据库中某个表中重复的数据。现在以一个案例驱动。




需求：删除评论表中同一订单同一商品的重复评论，只保留最早的一条。






上图是商品评论表





查看是否存在重复评论



查看是否存在对于一订单同一商品存在重复评论




SELECT order_id, p]]></description><category></category></item><item><title><![CDATA[【MySQL】常见的业务处理-分页显示]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/79008451</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/79008451</guid><author>da_guo_li</author><pubDate>Mon, 08 Jan 2018 23:50:29 +0800</pubDate><description><![CDATA[介绍




分页在我们日常开发中是非常常见的需求，我们通常会用LIMIT加上偏移量的办法实现。但是大家有没有考虑过当偏移量大的时候分页SQL的执行效率呢？下面以一个例子来模拟优化的过程。





业务需求


有一个商品评论表结构如下:










要求查询出某一个商品的前10条评论。




我们写出的SQL可能会是这个样子]]></description><category></category></item><item><title><![CDATA[【MySQL】慢查询日志]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/79008441</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/79008441</guid><author>da_guo_li</author><pubDate>Mon, 08 Jan 2018 23:48:46 +0800</pubDate><description><![CDATA[什么是慢查询日志



MySQL慢查询日志用于记录在MySQL中响应时间超过设置值long_query_time值的SQL，会被记录在慢查询日志中。默认情况下MySQL是不开启慢查询的，因为开启慢查询肯定会带来性能的影响,关于如何让开启慢查询日志请往下看。





为什么需要慢查询日志
我们不可能做到对所有的SQL都使用EXPLAIN语句来分析SQL的执行情况，使用慢查询]]></description><category></category></item><item><title><![CDATA[【MySQL】常见的业务处理-进行分区间的统计]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/79008418</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/79008418</guid><author>da_guo_li</author><pubDate>Mon, 08 Jan 2018 23:42:40 +0800</pubDate><description><![CDATA[场景


在日常工作中我们常常有这样的需求：统计所有数据区间的信息。


案例：统计某个商城系统中所有登录用户消费金额大于1000元的，800到1000元的，以及800元以下的人数：



用户登录表：





商品订单表：






MySQL中的函数






条件判断函数


函数
作用




CASE e]]></description><category></category></item><item><title><![CDATA[【MySQL】分区表的使用]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/78997161</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/78997161</guid><author>da_guo_li</author><pubDate>Sun, 07 Jan 2018 20:27:23 +0800</pubDate><description><![CDATA[什么是分区表？


在逻辑上为一个表，在物理上存储在多个文件中。所有的数据操作都会通过逻辑表转化成对存储引擎的接口调用，底层的物理表对于SQL层来说完全是一个暗箱操作。


为什么要分区？




将数据按照较粗的粒度存放在不同的表中，将关联的数据存放在一起，如果想批量删除整个分区非常方便。批量删除大数据量的数据可以采用清除整个分区的方式。比如我们后文中会提到的对每年的日志表]]></description><category></category></item><item><title><![CDATA[【Laravel】数据库事务]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/78857894</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/78857894</guid><author>da_guo_li</author><pubDate>Wed, 20 Dec 2017 21:35:44 +0800</pubDate><description><![CDATA[最近公司项目集成了一个支付的模块。由于网络世界是不确定的。说不定哪个操作就出了问题。为了保证数据的正确性我们不得不考虑使用数据库事务这一特性。本做一个简单的Laravel数据库事务的介绍。]]></description><category></category></item><item><title><![CDATA[【Laravel】项目中清除缓存失败]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/78813215</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/78813215</guid><author>da_guo_li</author><pubDate>Fri, 15 Dec 2017 16:03:51 +0800</pubDate><description><![CDATA[痛点

我想清除缓存中所有的内容，在项目根目录下执行如下语句：
php artisan cache:clean

但是我再次获取缓存中的内容还是存在：


//之前缓存的内容还是存在 $unreads = Cache::get('unreads_' . $this->id);



问题的解决思路
让我们回到问题本质，缓存解决了什么问题：

数据库的局限：	数据库连接]]></description><category></category></item><item><title><![CDATA[【Laravel】初探Laravel框架中的源码（一）]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/78758394</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/78758394</guid><author>da_guo_li</author><pubDate>Sat, 09 Dec 2017 12:16:07 +0800</pubDate><description><![CDATA[写在前面的话： 
        最近利用下班的空余时间看了一下Laravel框架中的源码。发现他所用到的设计方法和理念都是已经存在的。之前使用JavaWeb的时候也常用到。所以最近我想通过对框架中源码的分析，进一步提高我对设计模式的理解。

在Laravel中，服务容器是整个系统功能调度的核心，在JavaWeb中类似于ApplicationContext   。它提供了一系列在框架运行的过程中需]]></description><category></category></item><item><title><![CDATA[【Laravel】Laravel中命名规范]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/78680767</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/78680767</guid><author>da_guo_li</author><pubDate>Thu, 30 Nov 2017 20:49:42 +0800</pubDate><description><![CDATA[之前一直用Spring+Mybatis做WEB开发，由于公司的需要开始接触Laravel框架。不可否认确实被它所吸引，使用起来太优雅了。在这里不是说SSM这套解决方案不好，每个东西都有它存在的价值。Laravel使用起来这么优雅的原因我认为最大的原因是：约定优于配置。

切入正题，使用规范的好处是让你编码更加清晰。



数据库命名


建议使用复数名词作为表名，例如 users。
多对多关系中中]]></description><category></category></item><item><title><![CDATA[【Laravel】Laravel使用总结（一）]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/78636296</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/78636296</guid><author>da_guo_li</author><pubDate>Sun, 26 Nov 2017 11:29:14 +0800</pubDate><description><![CDATA[写在前面的话：入职快半个月了，趟了许多坑。就这些天遇到的各类问题总结了一些Laravel 中一些小技巧。希望对大家有帮助，同时也方便以后查阅。




1.数据库查询


怎么统计一篇文章有多少评论？最快的方法是：
$article = Article::where('id',1)->withCount('comments')->first();

这样$article变量就]]></description><category></category></item><item><title><![CDATA[Java 并发编程 之 线程池（四）]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/78149495</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/78149495</guid><author>da_guo_li</author><pubDate>Sun, 01 Oct 2017 23:52:16 +0800</pubDate><description><![CDATA[线程池
常见使用场景 
Web/数据库/文件/邮件 服务器
请求来自远程的客户端
请求数量很大， 任务执行时间较短
一个请求一个线程创建线程，销毁线程的开销比较大
太多的线程导致内存耗尽
复用一个资源的技术，前提是请求数量很大， 任务执行时间较短
线程池系统预先创建指定数量的线程
对多任务重用线程， 线程创建的开销被分摊
请求到来时， 线程已经存在， 立刻就可以服务
通过限制线程池中的线程数量， 防]]></description><category></category></item><item><title><![CDATA[Java 并发编程 之 volatile（三）]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/78148124</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/78148124</guid><author>da_guo_li</author><pubDate>Sun, 01 Oct 2017 17:36:56 +0800</pubDate><description><![CDATA[不允许对 一个volatile变量的赋值操作与其之前的任何读写操作 重新排序，
也不允许将 读取一个volatile变量的操作与其之后的任何读写操作 重新排序。]]></description><category></category></item><item><title><![CDATA[WEB安全]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/78141702</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/78141702</guid><author>da_guo_li</author><pubDate>Sat, 30 Sep 2017 12:46:37 +0800</pubDate><description><![CDATA[安全三要素全面认识一个安全问题，有很多方法，首先我们来理解安全问题的组成属性。安全属性的总结为安全三要素，简称CIA
机密性（Confidentiality） 
数据内容不能泄露
手段：加密
完整性（Integrity） 
数据内容是完整的， 没有被篡改
手段：数字签名
可用性（Avaliability） 
服务应该随时可用
分布式拒绝攻击
例子： 
假设一个停车场里面有100个车位，在正常的情况下]]></description><category></category></item><item><title><![CDATA[Xpath语法（二）]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/73849497</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/73849497</guid><author>da_guo_li</author><pubDate>Wed, 28 Jun 2017 16:17:31 +0800</pubDate><description><![CDATA[示例Xml：



?




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29



xml
version="1.0"
encoding="utf-8"
?>
pets>
  cat
color=]]></description><category></category></item><item><title><![CDATA[xpath语法(一)]]></title><link>https://blog.youkuaiyun.com/da_guo_li/article/details/73849434</link><guid>https://blog.youkuaiyun.com/da_guo_li/article/details/73849434</guid><author>da_guo_li</author><pubDate>Wed, 28 Jun 2017 16:13:52 +0800</pubDate><description><![CDATA[xpath的语法

XPath 是XML的查询语言，和SQL的角色很类似。以下面XML为例，介绍XPath 的语法。


  
    Empire Burlesque
    Bob Dylan
    10.90
  
  
    Hide your heart
    Bonnie Tyler
    9.90
  
  
    Greatest Hits]]></description><category></category></item></channel></rss>