自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

探索未知

玩游戏不如打代码

  • 博客(82)
  • 收藏
  • 关注

转载 高并发架构技术|缓存失效、缓存穿透问题 PHP 代码解决

出处:https://mp.weixin.qq.com/s/jy1q3OnbANEmQR750f0S6Q问题描述缓存失效:  引起这个原因的主要因素是高并发下,我们一般设定一个缓存的过期时间时,可能有一些会设置5分钟啊,10分钟这些;并发很高时可能会出在某一个时间同时生成了很多的缓存,并且过期时间在同一时刻,这个时候就可能引发——当过期时间到后,这些缓存同时失效,请求全部转发到DB...

2018-03-29 10:04:32 1703 2

原创 《高性能MySQL》笔记前篇

一、mysql基础知识Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。什么是数据库?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数...

2018-03-29 09:59:58 353

原创 《高性能MySQL》笔记----前缀索引

有时候需要索引很长的字符列,这会让索引变得很大且慢。一个方法使用伪哈希索引,另外还可以是前缀索引;前缀索引:可以大大节约索引空间,从而提高索引效率。但会降低索引的选择性(基数); 1、计算不同前缀长度的选择性: 如果继续增加前缀长度,选择性提升的幅度已经很小就不需在加;2、创建前缀索引:alter table zhang add index indexname(col(6)); /...

2018-03-21 10:03:34 261

原创 《高性能MySQL》笔记----伪哈希索引策略

创建伪哈希索引策略:1、使用这个策略前,要先了解哈希索引的优劣和原理;2、思路:在B-Tree基础上创建夜歌伪哈希索引,这和真正的哈希索引不是一回事。它是使用哈希值而不是键本身进行索引查找,需要在查询的where子句中手动指定使用哈希函数;实例需要存储大量的url , 并需要根据url进行搜索查找。直接用B-Tree来存储url存储的内容就会很大,正常情况的查询有:mys...

2018-03-20 16:12:27 429

原创 《高性能MySQL》 笔记之----"影子策略"

利用”影子表”实现表重建策略:mysql> drop table if exists my_summary,my_summary_old;mysql> create table my_summary_new like my_summary;mysql> rename table my_summary to my_summary_old,my_summary_new to ...

2018-03-19 20:01:11 2902 2

转载 MySQL基础

Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。什么是数据库? 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。 我们也可以将数据存储...

2018-03-07 15:07:54 196

原创 《高性能MySQL》笔记----剖析MySQL查询

MySQL优化第一步:找到最差的语句;慢查询日志:https://www.cnblogs.com/luyucheng/p/6265594.html MySQL慢查询日志是一种轻量而且功能全面的性能剖析工具、CPU开销小; 分析慢查询日志并生成剖析报告的工具:pt-query-digest; 参考:https://www.36nu.com/post/228.html; * 定位报告中的M...

2018-03-07 15:03:19 158

原创 搭建mysql主从配置

mysql主从配置:数据库 MariaDB 1、创建安装好mysql的虚拟机克隆,这样就拥有了两台相同版本的mysql服务器;2、选取其中一台作为主库,创建mysql用户和授权:CREATE USER 'node1'@'192.168.1.%' IDENTIFIED BY '123456';GRANT REPLICATION SLAVE ON *.* TO 'node1'@'192.168.1.%...

2018-03-06 00:22:52 167

原创 mongodb子集合的模糊查询

库名:hongyan_imlog; 集合名:chat_201802_1;数据:{ "_id" : ObjectId("5a977aa97f8b9a0684b2ff85"), "content" : { "content" : "没有" }, "dateTime" : NumberLong(1519574651) }需要对content里面的content做正则匹配或模糊查询:show db

2018-03-03 15:36:43 2973

原创 Linux创建命令指向某个脚本和配置全局变量

在/usr/bin目录下,添加一个软连接:ln -s /usr/local/mongodb/bin/mongo mongodb那么在liunx全局下使用命令: mongodb , 就会默认执行脚本 /usr/local/mongodb/bin/mongo  另外,也可以全局的配置环境变量;查看...

2018-03-03 11:49:30 1279

原创 xunSearch笔记

导入数据需要一个定时脚本,将需要检索的MySQL数据导入、更新到xunSearch里: util/Indexer.php --rebuild --source=mysql://你的数据库用户名:你的数据库密码@你的数据库IP/你的数据库名 --sql="你要执行的SQL语句" --filter=debug --project=你的项目名;保存数据文件的目录:$prefix/dat...

2018-03-01 10:27:38 510

转载 Linux搭建svn、自动同步web

搭建:搭建步骤、注意及报错解决、源码包安装 1、常用命令关闭killall svnserve重启svnserve -d -r 版本库目录查看 ps -ef|grep svnservelinux的svn命令:https://www.cnblogs.com/feifei-cyj/p/7904947.html2、svn自动同步web服务器参考文章1)进入svn版本库目...

2018-02-27 14:21:24 246

转载 签名验证详解

参考:数字签名和token原理 、签名验证代码、签名原理

2018-02-26 17:52:35 3125

转载 token原理

2018-02-26 17:30:41 268

原创 Windows10与centos7.4搭建samba

参考:http://www.linuxidc.com/Linux/2017-03/141390.htm简介:  Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。安装:yum

2018-01-23 12:57:55 2453

原创 快速搭建CentOS7 、docker、Python3

1、从阿里云镜像下载CentOS7;2、VMW新建一个新的虚拟机;3、连接物理网络: 1)桥接模式:直接连接物理网络 2)vi /etc/sysconfig/network-scripts/ifcfg-ens33 ONBOOT=no 修改为yes 3)重启网络命令:service network restartdocker:http://www.widuu.com/chinese_docker/...

2018-01-19 10:14:28 2931

原创 Win10 + VMware-CentOS7文件共享

参考:* http://blog.csdn.net/sirchenhua/article/details/49719659http://blog.csdn.net/ichenwin/article/details/78635256https://www.cnblogs.com/liximomo/p/4446229.htmlhttps://www.cnblogs.com/roooooki...

2018-01-18 20:44:21 232

原创 laravel 队列学习笔记

参考:1、Laravel 5.4 文档 综合话题 —— 队列 2、PHP的Laravel框架中使用消息队列queue及异步队列的方法_php实例 3、Laravel之队列对列作用队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短Web请求和相应的时间。队列进程原理:写一个死循环的脚本在Linux系统持续运行,新的队列任务push到这个脚本中。一、配置

2018-01-03 21:05:10 1669

原创 MySQL复制表

表:table1; 表字段:id, col1 ,col2 ,col3步骤1:创建一张相同的表结构create table new_table like table1;步骤2:复制数据insert into new_table (id,col1,col2,col3) select * from table1;

2017-12-19 11:52:52 181

原创 laravel ORM 的setAttributes 与 getAttributes

参考 laravel 例子 访问器&修改器    有时候,需要添加数据库中没有相应的字段到数组中,要实现这个,首先要定义一个访问器 ; 定义好访问器后,添加字段名到模型的appends属性 ; 以下例子实现 通过处理 最后登陆时间 字段追加 未登陆天数 属性 : 例1 namespace App\Models;class Users extends BaseModel{ /**

2017-11-23 21:06:43 17337

原创 laravel 5.2 任务调度

一、认识crontab Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,关键是要记住/var/spool /cron这个目录。查看一下/etc/crontab文件:$ cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/注 : 前四行是有关设置cro

2017-11-23 18:51:44 383

原创 Navicat for MySQL 远程连接

通过网络资料整理,并亲测总结出来的。希望可以让你少走弯路!一、MySql 权限连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误刚安装的 MySQL是不准许远程连接。修改方法如下: 1:在服务端MySQL文件夹下找到my.ini文件。修改bind-address=127.0.0.1 为 bind-addres...

2017-11-10 16:27:52 1181

原创 websocke和基于swoole的异步通信

一、概述  WebSocket 协议是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。  在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。浏览器通过 JavaScript 向服务器发出建立

2017-10-21 14:50:42 822

原创 关于MySQL外连接查询的NULL

left join 或 right join :1) select * from 表1 left join 表2 on 表1=表2 where 表1.id>10 ; //不考虑表2 的重复值有40条数据 返回 表1 的所有数据40条。如果表2中没有对应的值以null 返回。2) select * from 表1 left join 表2 on 表1=表2 where 表1.i

2017-10-14 10:43:01 3943

原创 mysql数据库分表查询(基于laravel5.2)

最近因为需要统计大量的分表数据,传统操作非常麻烦,而且数据不容易掌握和维护,在这里总结一套方法。原理:先将所有分表满足的结果查询出来,用 union all 将所有结果集形成一张表,最后操作这张‘表’。 基于laravel封装的类:<?phpnamespace App\Traits\Model;use Carbon\Carbon;use DB;Trait UnionTableTrait{

2017-09-14 22:16:16 2768

转载 获取用户的真实ip

参考:http://www.cnblogs.com/lmule/archive/2010/10/15/1852020.htmlREMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP。如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP。 HTTP_CLIENT_IP 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也

2017-08-28 10:40:07 328

转载 安装Memcached登录端Telnet

参考:http://blog.csdn.net/congcong68/article/details/41382753连接memcached:telnet 192.168.100.11 11211 报错:telnet:command not found 是因为没有安装远程登录端Telnet第一步:我们先查看linux虚拟机有没有安装telnet客户端和telnet-server 服务端 ...

2017-08-22 18:07:10 453

转载 Memcached教程

转自:http://www.2cto.com/os/201203/125164.html当前项目中,linux下memcached的启动/结束的方式默认情况下memcached安装到/usr/local/bin下。进入安装目录,启动memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root 获取运行状态:echo

2017-08-22 17:50:35 423

原创 laravel无刷新加载之pjax

1、简介 Pjax 是一个 jQuery 插件,其作用是使用 ajax 来加速页面加载时间,工作原理是只从服务器获取指定 HTML 片段,然后客户端使用获取到的内容更新局部页面。(关于pjax可以搜索了解) Laravel Pjax 扩展包将 Pjax 集成到 Laravel 中,实现原理是提供一个中间件,返回 Pjax 期望的响应内容。2、安装通过 Composer 安装扩展包:$

2017-08-15 10:19:17 3789

转载 jq获取图片宽高

问题:如何判断input file表单里上传的图片的宽高和大小呢?解决方案:这个时候图片还没真正上传,也不是在页面上展示,不能使用$(“#id”).width(),$(“#id”).height()这种方式。在Stack Overflow找到一个方法获取input file图片文件的宽高:var _URL = window.URL || window.webkitURL;$("#file

2017-08-10 15:11:54 1031

原创 高德获取ip地理位置

/** * 获取IP的实际地理位置 * 传入一个对象,并且对象里有ip元素 */ protected function getLocation($lists) { // 高德key $gdKey = [ 'sdfssdfdsfsdfsdfsdfsdfsdfsdfsdfs',

2017-08-08 11:52:39 3579

转载 Bootstrap Fileinput文件上传

$(function () {//0.初始化fileinputvar oFileInput = new FileInput();oFileInput.Init("txt_file", "/api/OrderApi/ImportOrder");});//初始化fileinputvar FileInput = function () {var oFile = new Object();/

2017-08-04 14:10:57 985

原创 js对象的地址引用

2017-08-02 19:02:13 7025

原创 angular js 获取事件对象

<div ng-mousedown="makeTop($event)"></div><script> ... $scope.makeTop=function (e,obj){ if( e.button==2 ){ alert('想复制,不可能'); return false; } con

2017-08-01 17:40:11 1890

转载 js实现图片缩放

var fileinput = document.getElementById('fileinput');var max_width = fileinput.getAttribute('data-maxwidth');var max_height = fileinput.getAttribute('data-maxheight');var preview = document.getElement

2017-07-31 09:38:08 1751

原创 js实现多选的最简单方法:

<form action="/checkbox/get" method="get"> <!-- checkbox 是false的值传不到后台 --> <input type="checkbox" onclick="$('.ids').prop('checked',$(this).prop('checked'))" /> <br> <input

2017-07-24 18:44:52 1214

转载 laravel 5 邮件发送

解:本教程中使用到的是SMTP(Simple Message Transfer Protocol)简单邮件传输协议,通常理解为邮件发送服务器。实验使用邮箱的163,QQ邮箱。首先注册163邮箱注册完需要 =>设置=>开启163邮箱的POP3和SMTP服务。=>设置授权码(配置要用到)laravel配置修改邮件发送配置。laravel4.2 在 app/config/mail.php,larave

2017-07-20 17:38:52 364

原创 laravel手动创建分页

use Illuminate\Pagination\LengthAwarePaginator;use Illuminate\Pagination\Paginator;<!-- 控制器代码 -->$perPage = 20;//页码if ($request->has('page')) { $current_page = $request->input('page'); $cur

2017-07-20 10:13:06 1109

原创 PHPExcel入门(基于laravel 5.2)

简介PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格、生成统计图表,非常适合用于做报表。安装&配置该项目的GitHub地址是:https://github.com/Maatwebsite/Laravel-Excel使用composer安装 : composer require maat

2017-07-15 11:41:32 1050

转载 MySQL常用操作

一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方FLOOR(x) 返回小于x的最大整数值GREATEST(x1,x2,...,xn)返回集合中最大的值LEAST(x1,x2,...,xn) 返回集合中最小的值

2017-07-14 10:55:39 169

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除