知识点
文章平均质量分 69
DuTian11
这个作者很懒,什么都没留下…
展开
-
mysql8.0新特性 之 窗口函数 使用示例及详解
什么是窗口函数MySQL从8.0开始支持窗口函数,这个功能在大多数据库中早已支持,有的也叫分析函数。窗口的概念非常重要,它可以理解为记录集合,窗口函数也就是在满足某种条件的记录集合上执行的特殊函数对于每条记录都要在此窗口内执行函数,有的函数随着记录不同,窗口大小都是固定的,这种属于静态窗口;有的函数则相反,不同的记录对应着不同的窗口,这种动态变化的窗口叫滑动窗口。简单的说窗口函数就是对于查询的...原创 2020-04-07 12:06:15 · 1559 阅读 · 0 评论 -
redis持久化的两种方式
1、前言最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据。由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一...原创 2018-09-18 20:25:48 · 250 阅读 · 0 评论 -
http响应状态码 总结
响应状态码 和请求报文相比,响应报文多了一个“响应状态码”,它以“清晰明确”的语言告诉客户端本次请求的处理结果。 HTTP的响应状态码由5段组成: 1xx 消息,一般是告诉客户端,请求已经收到了,正在处理,别急... 2xx 处理成功,一般表示:请求收悉、我明白你要的、请求已受理、已经处理完成等信息. 3xx 重定向到其它地方。它让客户端再发起一个请求以完成整个处理。 4xx 处...原创 2018-09-18 12:42:01 · 400 阅读 · 0 评论 -
HTTP请求头、响应头详解
HTTP的头域包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成(说白了就是键值对)。通用头:是客户端和服务器都可以使用的头部,可以在客户端、服务器和其他应用程序之间提供一些非常有用的通用功能,如Date头部。 请求头:是请求报文特有的,它们为服务器提供了一些额外信息,比如客户端希望接收什么类型的数据,如Accept头部。 响应头:便于客户端提供信息...原创 2018-09-18 12:36:45 · 4247 阅读 · 1 评论 -
漫画解释----进程与线程
清晰明了http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html原创 2018-09-12 12:01:33 · 412 阅读 · 0 评论 -
MySQL——约束(constraint)详解
一、什么是约束约束英文:constraint约束实际上就是表中数据的限制条件二、约束作用表在设计的时候加入约束的目的就是为了保证表中的记录完整和有效比如name字段中要让其用户名不重复,这就需要添加约束。或者必须注册的时候需要添加邮箱等三、约束种类非空约束(not null) 唯一性约束(unique) 主键约束(primary key) PK 外键约束(f...原创 2018-09-04 22:01:24 · 475 阅读 · 0 评论 -
MySQL存储引擎中的MyISAM和InnoDB区别详解
在使用MySQL的过程中对MyISAM和InnoDB这两个概念存在了些疑问,到底两者引擎有何分别一直是存在我心中的疑问。为了解开这个谜题,搜寻了网络,找到了如下信息:MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transa...原创 2018-08-28 21:31:17 · 163 阅读 · 0 评论 -
正向代理 反向代理 理解
正向代理理解A同学在大众创业、万众创新的大时代背景下开启了创业之路,目前他遇到一个大问题就是启动资金,于是他决定去找马云爸爸借钱,可想而知,最后碰了一鼻子灰回来了,情急之下,他想到一个办法,找关系开后门,经过一番消息打探,原来A同学的大学老师王老师是马云的同学,于是A同学找到王老师,托王老师帮忙去马云那借500万过来,当然时候成了。不过马云并不知道这钱是A同学借的,马云是借给王老师的,就是代...原创 2018-08-19 16:32:09 · 224 阅读 · 0 评论 -
MySQL权限
MySQL权限级别介绍MySQL权限级别 全局性的管理权限,作用于整个MySQL实例级别 数据库级别的权限,作用于某个指定的数据库上或者所有的数据库上 数据库对象级别的权限,作用于指定的数据库对象上(表、视图等)或 者所有的数据库对象上 权限存储在mysql库的user, db, tables_priv, columns_priv, and procs_priv这几个系统表中,待MyS...原创 2018-08-15 16:11:29 · 180 阅读 · 0 评论 -
PHP中的use、命名空间、引入类文件、自动加载类的理解
<div class="postBody"> <div id="cnblogs_post_body" class="cnblogs-markdown"><p>use只是使用了命名空间,<br>但是要想调用类,必须要加载类文件,或者自动加载。即便是引入了其中一个类,如果没有自动加载机制,还是转载 2018-08-07 00:24:00 · 1785 阅读 · 0 评论 -
如何使用composer的autoload来自动加载自己编写的函数库与类库?
composer的出现真是让人们眼前一亮,web开发从此变成了一件很『好玩』的事情,开发一个CMS就像在搭积木,从packagist中取出『积木』搭建在自己的代码中,一点一点搭建出一个属于自己的王国。从此以后我基本就抛弃了require和include函数,一个项目中,这两个函数只可能出现一次,那就是require '../vendor/autoload.php'。那么,既然抛弃了传统的文件包...转载 2018-08-07 00:20:19 · 537 阅读 · 0 评论 -
PSR规范
目前包括以下几个规范:PSR-0(弃用)PSR-1PSR-2PSR-3PSR-4 1.PSR-0自动加载规范,此规范已被启用-本规范已于2014年10月21日被标记为弃用,目前新的替代规范为【PSR-4】本文是为自动加载器实现通用自动加载所需要遵循的编码规范 一个标准的命名空间与类名称的定义必须符合以下结构:\<Vendor Name><...转载 2018-09-19 11:36:13 · 783 阅读 · 0 评论 -
nginx与php-fpm通信的两种方式
在linux中,nginx服务器和php-fpm可以通过tcp socket和unix socket两种方式实现。unix socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。这种方式需要再nginx配置文件中填写php-fpm的pid文件位置,效率要比tcp socket高。tcp socket的优点是可以跨服务器,当nginx和php-fpm不在同一台机器上时,...转载 2018-09-19 11:38:12 · 552 阅读 · 0 评论 -
php 各种框架优缺点
一直以来,phper讨论最多的就是php各种框架的优缺点,网上的资料也是比较零散,现把几款主流的框架收集汇总一下,其中本人只是用过Yii2、Laravel、Yaf、Thinkphp这四种框架,因此大部分对各种框架的评价皆来自与网上资料,如果问题,请在评论中指出,共同进步 一、ThinkPHPThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来...转载 2018-09-19 16:25:17 · 1165 阅读 · 0 评论 -
mysql 将添加时间和修改时间更改为自动更新
如果表中已经有数据存在,先将两个字段为null的进行修改update admin_permissions set created_at = CURRENT_TIMESTAMP,updated_at = CURRENT_TIMESTAMP;设置自动更新ALTER TABLE admin_permissions MODIFY created_at TIMESTAMP DEFAULT C...原创 2019-03-03 22:52:15 · 1469 阅读 · 1 评论 -
laravel 使用 restful 路由访问
正常使用resource进行访问 自带的几个增删改查方法Route::resource('/image_text', 'ImageTextController');如果仅仅访问其中一个方法/操作,使用only 进行限定Route::resource('/image_text', 'ImageTextController', ['only' => ['show','index...原创 2019-03-03 22:48:18 · 627 阅读 · 0 评论 -
Laravel框架登录自带hash加密密码及验证密码
public function editPwd(){ //自定义验证 $validator = $this->validatorPwd($this->request->all()); if ($validator->fails()) { return $this->failed([], 400, '参数错误!'); ...原创 2018-12-12 11:47:23 · 4355 阅读 · 0 评论 -
mysql索引最左匹配原则的理解
这是你的表结构,有三个字段,分别是id,name,cid CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `cid` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `name_cid_INX` (`name`...原创 2018-09-21 20:05:05 · 399 阅读 · 0 评论 -
MySQL日志——Undo | Redo
本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC)。- 事务的原子性(Atomicity) 事务中的所有操作,要么全部完成,要么不做任何操作,不能只做部分操作。如果在执行的过程中发生 了错误,要回滚(Rol...转载 2018-09-15 09:44:25 · 263 阅读 · 0 评论 -
数据库事务机制
什么是事务: 事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。 通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。 (当我们需要执行多个sql语句,我们需要用事务操作,保证sql要么全部成功,要么全部失败)事务是怎么实现的?https://bl...原创 2018-09-15 09:43:21 · 847 阅读 · 0 评论 -
MySQL锁总结
锁是计算机协调多个进程或线程并发访问某一资源的机制。锁保证数据并发访问的一致性、有效性;锁冲突也是影响数据库并发访问性能的一个重要因素。锁是Mysql在服务器层和存储引擎层的的并发控制。加锁是消耗资源的,锁的各种操作,包括获得锁、检测锁是否是否已解除、释放锁等。锁机制共享锁与排他锁共享锁(读锁):其他事务可以读,但不能写。 排他锁(写锁) :其他事务不能读取,也不能写。粒度锁...原创 2018-09-15 09:31:25 · 249 阅读 · 0 评论 -
php命令行 windows、linux导入 导出数据库
windows命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u root -p news >...原创 2018-09-19 19:59:26 · 488 阅读 · 0 评论 -
使用composer自动加载php命名空间
介绍了php的命名空间,但是每次都要使用一个spl_autoload_register()或autoload()方法,每个要使用命名空间的地方都要加这个方法太麻烦,有没有简单的方法呢?有,可以使用composer自动加载命名空间。 要在php项目中使用包依赖管理工具composer首先得安装,这个自行搜索,就不多说了。安装之后再项目根目录下创建一个composer.json文件。 目录结构如图...转载 2018-08-07 00:09:18 · 643 阅读 · 0 评论 -
yii2表单提交CSRF验证
Yii2表单提交默认需要验证CSRF,如果CSRF验证不通过,则表单提交失败,解决方法如下:第一种解决办法是关闭Csrfpublic $enableCsrfValidation = false;第二种解决办法是在form表单中加入隐藏域(如果是高级版的name值分前后台区分) <input type="text" name="_csrf-frontend" value="<?= Yii...原创 2018-06-26 19:50:19 · 589 阅读 · 0 评论 -
Yii2中 AR操作andWhere和andFilterWhere区别
附加条件你可以使用 andWhere() 或者 orWhere() 在原有条件的基础上 附加额外的条件。你可以多次调用这些方法来分别追加不同的条件。 例如,$status = 10;$search = 'yii';$query->where(['status' => $status]);if (!empty($search)) { $query->andWher...原创 2018-06-24 18:11:45 · 648 阅读 · 0 评论 -
如何将session保存到mamcache中 以及 如何将储存到memcache中的session信息读取
将session 的数据保存到memcache中 【修改php.ini】session的数据默认情况下,保存在file 文件中但是我们可以通过修改php的配置,让他保存在其他地方(1)、打开D:\lamp\php/php.ini。session.save_handler = files是开着的,把它注释了Session内容保存路径,添加画红线的那句话我们进行测试一下::session_start...原创 2018-06-01 17:23:27 · 744 阅读 · 0 评论 -
通过取模 把数据分配到三张不同的表中 代码实现
首先来个表单<form action="addInfoDo.php" method="post"> <table> <tr> <td>名称:</td> <td><input type="text"原创 2018-06-01 11:40:28 · 915 阅读 · 0 评论 -
TP3.2 设置伪静态
URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行。例如,我们设置'URL_HTML_SUFFIX'=>'shtml'的话,我们可以把下面的URL http://serverName/Home/Blog/read/id/1 变成 http://se...原创 2018-05-31 09:06:44 · 3894 阅读 · 0 评论 -
什么是memcache 及 php操作memcache基本操作
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。Memcached是一种基于内存的key-value存储,用来存储小...原创 2018-05-31 09:46:16 · 297 阅读 · 0 评论 -
提供两个类方法用于 XML与数组相互转换
在实际的开发中,可能会经常将XML数据和数组之间来回的转换。如果是XML数据转换为数组,这样比较方便读取;数组转换为XML这种应用场景更为多见,如果我们某一天要写XML的接口,这一步肯定是必须要做的,通常我们从数据库中查询到的数据是数组,我们必须将数组转化为XML数据,然后将其返回。1、XML转数组 步骤: (1)首先使用SimpleXML将xml文件转换为对象 (2)由于这个对象中既有数组,数组...原创 2018-06-06 08:27:57 · 983 阅读 · 0 评论 -
YII2 请求(request)
请求一个应用的请求是用 yii\web\Request 对象来表示的,该对象提供了诸如 请求参数(译者注:通常是GET参数或者POST参数)、HTTP头、cookies等信息。 默认情况下,对于一个给定的请求,你可以通过 request application component 应用组件(yii\web\Request 类的实例) 获得访问相应的请求对象。在本章节,我们将介绍怎样在你的应用中使用...原创 2018-06-11 19:13:25 · 738 阅读 · 0 评论 -
Yii2 获取模块名、控制器名、方法名 [ 2.0 版本 ]
Yii2 获取模块名、控制器名、方法名在视图中:模块名 $this->context->module->id控制器名 $this->context->id方法名 $this->context->action->id在控制器中模块名 Yii::$app->controller->module->id; 控制器名 Yii...原创 2018-06-11 17:43:43 · 475 阅读 · 0 评论 -
防止 常见几种网络攻击 【CSRF】【xss】【sql注入】
xss 跨站脚本攻击XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,形成了一次有效XSS攻击实施XSS攻击需要具备两个条件:一、需要向web页面注入恶意代码;二、这些恶意代码能够被浏览器成功的执行。解决方法::一、是在表单提交或者url参数传递前,对需要的参数进行过滤,请看如下XSS过滤工具类代码二、 过滤用户输入的 检查用户输入的...原创 2018-06-26 21:00:47 · 1065 阅读 · 0 评论 -
include,include_once,require,require_once的区别
include如果引入两个文件,都有一个相同的函数名,那么就会发生重定义的错误。使用include_once可以避免此错误,一般都_once用的比较多。应该根据实际情况需求include和_once的区别。include和require区别当要包含的文件不存在时,include产生一个警告(Warning),该语句后面的程序会继续执行;而 require则导致一个致命错误(Fatal error)...原创 2018-07-10 10:33:05 · 167 阅读 · 0 评论 -
PHP规范psr0-psr4
1. PSR是什么? PSR(PHP StandardsRecommendation)PHP 推荐规范的简称。是一种代码格式规范。 2. PSR1:基本代码风格 PSR1的代码要满足以下要求: 1) 必须把代码放在 \<\?PHP\?\>” 或 “\<\?=\?\>”标签中,不能使用其它标签。 2) 必须使用无BOM,UT...转载 2018-08-06 23:46:04 · 372 阅读 · 0 评论 -
http请求与响应,TCP三次握手 四次分手
从前端发起请求到后台的整个过程,是一个面试中经常遇到的问题。大概的流程想必有一点基础的人都明白,但是要细说,却未必能一一道出来,曾经老师教过的知识也都差不多忘干净了。所以,我上网找了点资料,加上自己的理解,做个记录。 ********************************************************** 华丽的分割线 *******************...原创 2018-08-10 16:29:48 · 230 阅读 · 0 评论 -
PHP网络协议相关知识点 以及 PHP常用服务【版本 端口】
HTTP状态码HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。HTTP状态码主要有5种,代表5种不同类型的响应:1xx:信息性状态码,代表接收到请求,正在处理 2xx:成功状态码,代表请求正常处理完毕 200 OK 表示从客户端发来的请求在服务端被正常处理了 204 No Content 服务器接收的...原创 2018-07-30 23:28:26 · 279 阅读 · 0 评论 -
Redis、Memcache和MongoDB的区别
>>MemcachedMemcached的优点:Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。适用于最大程度扛量。支持直接配置为session handle。Memcached的局限性:只支持简单的key/value数据结构,不像Redis可以支持丰富...原创 2018-07-30 23:40:52 · 173 阅读 · 0 评论 -
接口安全 PHP签名认证
1、签名认证是什么? 数字签名是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。 在这个以“数据为生命”的时代,每一个开...原创 2018-07-31 20:50:28 · 975 阅读 · 0 评论 -
接口安全 接口防刷方法对比及实现思路
为什么会有人要刷接口?1、牟利黄牛在 12306 网上抢票再倒卖。2、恶意攻击竞争对手如短信接口被请求一次,会触发几分钱的运营商费用,当量级大了也很可观。3、压测用 apache bench 做压力测试。4、当程序员无聊的时候什么是刷接口的"刷"字?1、次数多2、频率频繁,可能 1 秒上千次3、用户身份难以识别可能会在刷的过程中随时换浏览器或...原创 2018-07-31 20:28:55 · 9999 阅读 · 0 评论