自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

转载 Printf格式化输出语句的常用方法和控制台输入

package mainimport "fmt"func main() { a,b:=123,321 c,d:="dsds",5.5 fmt.Print("你好,世界!")//输出控制台 fmt.Println(a)//输出控制台后自动换行 fmt.Printf("a=%d\n",a)//格式化输出 a,b=b,a//交换值 fmt.Printf...

2018-05-15 11:47:08 947

原创 redis设置开机启动

redis设置开机启动方式一1.设置redis.conf中daemonize为yes,确保守护进程开启,也就是在后台可以运行.(设置为yes后,启动时好像没有redis的启动界面,不知道为什么)#vi编辑redis安装目录里面的redis.conf文件[root@localhost /]# vi /usr/redis/redis-3.2.4/redis.conf2.复制redis配置文件(启动脚...

2018-04-26 23:19:45 214

原创 PHP的运行机制与原理(底层)

 php看着很简单,但是要深入php的运行机制与原理也不是件容易的事,我们除了会使用之外还要知道它底层的工作原理,这样才能灵活的运用,对php运行机制感兴趣的朋友一起学习吧说到php的运行机制还要先给大家介绍php的模块,PHP总共有三个模块:内核、Zend引擎、以及扩展层;PHP内核用来处理请求、文件流、错误处理等相关操作;Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;扩...

2018-04-26 23:19:27 175

转载 Mysql数据类型括号里的数字究竟是字节还是字符?

实例是最好的说明,所以,废话少说,看表看例子~mysql> show create table test_varchar_utf8\G*************************** 1. row *************************** Table: test_varchar_utf8Create Table: CREATE TABLE `test_v...

2018-04-26 23:14:40 972

转载 Mac下docker搭建lnmp环境 + redis + elasticsearch

备忘下第一步,环境搭建Mac下docker搭建lnmp环境 + redis + elasticsearch拉取镜像 nginx docker pull hub.c.163.com/library/nginx:latest拉取镜像 mysqldocker pull hub.c.163.com/library/mysql:5.6拉取镜像 phpdocker pull hub.c.163.com/lib...

2018-04-12 15:43:19 396

转载 实现每秒执行的定时任务

linux crontab 命令,最小的执行时间是一分钟。如需要在小于一分钟内重复执行,可以有两个方法实现。Cron 各项的描述以下是 crontab 文件的格式:{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script} o minute: 区间为 0 – 59 o hour: 区间为0 – 2...

2018-03-24 19:34:10 3923

转载 Yii框架事务的使用

Yii2中事务的使用以及代码实例前言一般我们做业务逻辑,都不会仅仅关联一个数据表,所以,会面临事务问题。数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全

2018-01-03 23:21:34 907

原创 PHP正则匹配的函数

// $pattern = "/[0-9]/";// $subject = "aere7ewrwef2fwer2werwq4";// $replacement = "力";$pattern = array("/[0123]/","/[456]/","/[789]/");$subject = array("0wer","51fas","asfas");$replaceme

2017-12-31 12:03:53 490

原创 foreach修改一个数组值的问题

foreach($array as $k => $v){  $v = 1;}这样的修改方法修改的并不是$array本身,是修改它拷贝的一个数组,虽然一样但不是$array.所以对$array没有影响。那么要怎么做?要这样做:foreach($array as $k => $v){  $array[$k] = 1;}虽然$k和$v一样也

2017-12-29 20:49:38 2207

转载 php 接口如何使同一用户在规定时间内访问规定的次数

有时候我们需要限制一个API访问的频率,例如单用户一分钟之内只能访问多少次。 类似于这样的需求很容易用Redis来实现。 php $redis = new Predis\Client(array( 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => '6379' )); $

2017-12-29 20:08:46 6943

转载 mysql调优三步曲(慢查询、explain profile)

mysql profile explain slow_query_log分析优化查询在做性能测试中经常会遇到一些sql的问题,其实做性能测试这几年遇到问题最多还是数据库这块,要么就是IO高要么就是cpu高,所以对数据的优化在性能测试过程中占据着很重要的地方,下面我就介绍一些msyql性能调优过程中经常用到的三件利器:1、慢查询 (分析出现出问题的sql)2、Explain

2017-12-28 20:34:48 197

原创 array_merge和+的区别

例://$a = array("a"=>"aaa",'b'=>'bbb','c'=>'ccc',1,2);//$b = array("a"=>"aaaa","c"=>"cccc","d"=>"ddd",1,2);array_merge   如果两个数组中存在相同的非数字键值,将以第二个数组为主,                       如果存在相同的数字键值时,将会

2017-12-28 19:36:38 363

原创 时间复杂度

时间复杂度是同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。计算机科学中,算法的时间复杂度是一个函数,它定性描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况。

2017-12-26 19:46:05 110

原创 空间复杂度

空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。比如直接插入排序的时间复杂度是O(n^2),空间复杂度是O(1) 。而一般的递归算法就要有O(n)的空间复杂度了,因为每次递归都要存储返回信息。一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。

2017-12-26 19:41:51 220

原创 memcache的工作原理

memcache是以key-value形式存储的,key会通过一个hash表转换成hash的key,便于查找对比。客服端通过key的hash值确定数据的位置,然后向服务端发出请求,获取真实的数据。

2017-11-17 21:09:49 163

原创 PHP静态方法和非静态方法的区别

静态方法在定义类的时候就已经装载分配好了,非静态方法在定义时没有占用内存,只有实例化为对象时才会被分配内存非静态方法可以调用静态方法或静态属性  而静态方法不可以调用非静态成员     但      可以调非静态方法(因为系统自动把非静态方法转化为静态方法)  类外调用静态方法时不需要实例化类也可以调用静态方法  可以直接类名调用静态方法名

2017-11-17 16:56:55 1134

转载 排它锁和共享锁

排它锁也称独占锁、写锁或X锁,若sessionA获得某数据表的排他锁权限,那么sessionA只能对该表进行读取或修改,其他session既不能读取也不能修改该表,更不能对该表加任何类型的锁,直到sessionA释放排它锁权限。加锁方式:lock tables tablename write;操作如下: sessionA:  sessionB:  从上图操作可以看出sessio

2017-11-17 12:37:26 1340

转载 mysql分区功能详细介绍,以及实例

一,什么是数据库分区前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,m

2017-11-15 14:36:38 126

原创 几种进程间的通信方式

管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其

2017-11-15 14:07:35 120

原创 脏读、幻读、不可重复读

1.脏读:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。(读未提交)2.不可重复读:是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在

2017-11-15 09:58:35 120

原创 MongoDB范式化与反范式化

范式化:将数据分散到多个不同的集合,不同集合之间可以相互引用数据。如果要修改数据,只需修改保存这块数据的文档就行。但是MongoDB没有连接(join)工具,所以在不同集合之间执行连接查询需要进行多次查询。反范式化:将每个文档所需的数据都嵌入在文档内部。每个文档都有自己的数据副本,而不是所有文档共同引用一个数据副本。但是如果数据发生变化,那么所有相关文档都需要进行更新。范式化能够提

2017-11-14 20:50:03 1039

原创 6种负载均衡算法

1、轮询法  将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。2、随机法     通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多,其实际效果越来越接近于平均分配调用量到后端的每一台服务器,也就是轮询的结果。

2017-11-14 20:18:56 2156

原创 HTML和XHTML的区别

XHTML 元素必须被正确地嵌套。XHTML 元素必须被关闭。标签名必须用小写字母。XHTML 文档必须拥有根元素。

2017-11-14 15:57:25 132

原创 什么是共享锁和排它锁

共享锁就是允许多个线程同时获取一个锁,一个锁可以同时被多个线程拥有。排它锁,也称独占锁,一个锁在某一时刻只能被一个线程占有,其它线程必须等待锁被释放之后才可能获取到锁。

2017-11-14 14:36:38 1425

转载 PHP内存管理机制与垃圾回收机制

转发地址:https://www.cnblogs.com/zk0533/p/5667122.htmlPHP内存管理机制1 var_dump(memory_get_usage()); //获取内存2 $a = "laruence"; //定义一个变量3 var_dump(memory_get_usage()); //定义变量之后获取内存

2017-11-14 09:27:18 167

转载 学习Javascript闭包(Closure)

闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全

2017-11-13 21:11:00 100

转载 PHP值传递和引用传递的区别。什么时候传值什么时候传引用

(1)按值传递:函数范围内对值的任何改变在函数外部都会被忽略(2)按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改(3)优缺点:A:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。B.按引用传递则不需要复制值,对于性能提高很有好处。

2017-11-13 15:04:35 977

转载 浅析MySQL数据碎片的产生

MySQL列表,包括MyISAM和InnoDB这两种最常见的类型,而根据经验来说,其碎片的产生及消除都是随机的。碎片会在你的表格中留下明显的空白,而这会给列表扫描工作带来相当大的困扰。对你的列表进行优化,这样会使列表的全面及分区扫描工作进行得更有效率。作者:核子可乐译来源:51CTO|2011-03-30 09:28 移动端 收藏  分享

2017-11-08 09:26:25 2425

转载 全文搜索引擎 Elasticsearch 入门教程

全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提

2017-11-07 20:31:19 115

转载 Redis的五种存储类型和其应用场景

常用数据类型简介:redis常用五种数据类型:string,hash,list,set,zset(sorted set).1.String类型String是最简单的类型,一个key对应一个valueString类型的数据最大1G。 String类型的值可以被视作integer,从而可以让“INCR”命令族操作(incrby、decr、decrby),这种情况下,

2017-11-07 20:12:58 225

原创 git自动部署

1.在服务器上创建一个git创库git --bate init mynewpro ./2.切到mynewpro目录中3.切到hooks中4.如果没有post-update就使用命令cp post-update.sample post-update5.vim编辑post-update加入以下代码--work-tree

2017-11-07 19:28:04 237

转载 Redis事务

概述相信学过Mysql等其他数据库的同学对事务这个词都不陌生,事务表示的是一组动作,这组动作要么全部执行,要么全部不执行。为什么会有这样的需求呢?看看下面的场景:微博是一个弱关系型社交网络,用户之间有关注和被关注两种关系,比如两个用户A和B,如果A关注B,则B的粉丝中就应该有A。关注这个动作需要两个步骤完成:在A的关注者中添加B;在B的粉丝中添加A。 这两个动作要么都执行成功,

2017-11-07 19:25:57 158

转载 PHP的运行机制与原理(底层)

php看着很简单,但是要深入php的运行机制与原理也不是件容易的事,我们除了会使用之外还要知道它底层的工作原理,这样才能灵活的运用,对php运行机制感兴趣的朋友一起学习吧说到php的运行机制还要先给大家介绍php的模块,PHP总共有三个模块:内核、Zend引擎、以及扩展层;PHP内核用来处理请求、文件流、错误处理等相关操作;Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行

2017-11-02 11:19:06 173

转载 【PHP】如何提高网页加载速度?

1、减少页面请求:   从WEB运行原理上讲,IIS请求是无状态的,在服务器端一直是连接和关闭的不断进行着,如果能减少服务器请求,总的时间将会减少。   之前我下载163邮箱的登陆页面的图片时发现,它们的只用到了一个图片来完成整个页面的所有图片,当时我就纳闷了,这跟平时做的网站不一样呀。然来这样做减少浏览器的请求次数,用httpwatch你会发现请求的总时间大大减少了。同样的想法,

2017-11-02 11:15:10 174

转载 Linux主从复制

主从复制配置步骤如下:主服务器:从服务器ip地址分别为[python] view plain copy 192.168.145.222、192.168.145.226  1、修改主服务器master:[python] view plain copy vi /etc/my.cn

2017-11-02 10:33:24 137

转载 Linux 安装redis

redis服务以及phpredis扩展的安装一.下载软件包下载redis wget http://download.redis.io/releases/redis-3.0.7.tar.gz下载redis的php扩展 wget http://pecl.php.net/get/redis-3.1.1.tgz 二.安装redis服务cd redis-3.0.7make

2017-10-13 18:54:34 120

转载 redis设置开机启动

redis设置开机启动方式一1.设置redis.conf中daemonize为yes,确保守护进程开启,也就是在后台可以运行.(设置为yes后,启动时好像没有redis的启动界面,不知道为什么)#vi编辑redis安装目录里面的redis.conf文件[root@localhost /]# vi /usr/redis/redis-3.2.4/redis.conf2

2017-10-13 18:49:57 214

空空如也

空空如也

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

TA关注的人

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