自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 laravel框架源码分析(一)自动加载

一、前言  使用php已有好几年,laravel的使用也是有好长时间,但是一直对于框架源码的理解不深,原因很多,归根到底还是php基础不扎实,所以源码看起来也比较吃力。最近有时间,所以开启第5、6遍的框架源码探索之旅,前面几次都是看了一些就放弃,希望这次能够看完。每一次看源码都会有新的收获,因为框架用到的一些设计模式、高级特性,在平时的业务需求里面根本用不到,或者说项目前期就把需要用...

2018-12-08 17:50:00 241

转载 在laravel框架中使用mq

本文写于2018-11-281、部署laravel项目https://github.com/laravel/laravel 通过git克隆项目,或者下载zip包然后解压等方式都可以把laravel框架源码下载下来。然后composer install 安装各种依赖然后复制.env.example 为.env文件,执行php artisan key:generate 生成...

2018-11-28 16:53:00 611

转载 window环境rabbitMQ安装和php扩展安装

下面的安装步骤,已经在2018-11-27试验通过。1、安装前的准备phpinfo查看php的版本、系统是多少位的,php版本是否是线程安全,php.ini文件的路径2、安装rabbitMQ安装过程可以参考: https://www.cnblogs.com/ericli-ericli/p/5902270.html 默认安装就好了。或者按照我下面整理的:1)先安...

2018-11-27 17:27:00 154

转载 git常用命令

git教程参考(廖雪峰的教程):https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b0001、基础命令1)初始本地库命令:git init2)添加修复到缓冲区命令:git add命令:git add . 【注意有个句点】是添加所有文件的修...

2018-11-24 15:28:00 183

转载 php7新特性

一、前言  php7目前(截止2018-09-17),最新的稳定版本是7.2.10(http://php.net/downloads.php上可查看版本信息),目前还有不少项目是用5.6甚至更早的版本。相比于php5.x的版本,php7有不少新的改进,性能方面也是有不少提升。下面来详细讲下。二、新特性1、php7.0相比于php5.6的新特性参考:http://p...

2018-10-08 23:23:00 275

转载 API接口设计

1、场景描述  比如说我们要做一款APP,需要通过api接口给app提供数据。假设我们是做商城,比如我们卖书的。我们可以想象下这个APP大概有哪些内容:  1)首页:banner区域(可以是一些热门书籍的图片做推广)、本周热卖书籍区域、本月好评书籍区域、活动打折的书籍区域。。。  2)排行榜:比如第一季度热销榜、新书版。。。  3)书单:管理后台运营添加的书单,比如《程序...

2018-07-26 00:06:00 173

转载 关于redis的使用

  距离上次写博客有两三个月了,这段时间去了新公司上班,忙了很多。接手了一个项目,刚好用到redis,先总结下遇到的问题(跟redis相关的问题):  1、列表问题  举例:展示商品列表,但是要先展示运营置顶的数据,如果排序的序号一样,则按照id降序排序,就是需要按照sort asc, id desc 来排序;用redis怎么处理?  【分析】  首先这个问题可能本身有点...

2017-12-27 00:06:00 78

转载 redis的string类型

1、简单描述  string类型是redis最基本的类型,而且string类型是二进制安全的,就是说redis的string类型可以包含任何数据,比如jpg图片或者序列化的对象。string类型最大可以存储1G字节数据。另外,string类型可以被部分命令(比如inrc)按照int类型处理。如果只使用string类型,那么redis可以被当做是拥有持久化功能的memcached,但...

2017-09-10 16:25:00 116

转载 面试题(php部分)

1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)【答案】$a = date("Y-m-d H:i:s", strtotime("-1 day"));print_r($a);【备注】strtotime的参数还可以是:echo date("Y-m-d H:i:s", strtotime("-1 year+1 week 1 month ...

2017-09-05 11:43:00 259

转载 redis持久化机制

1、简单介绍  redis的持久化机制是用于把内存的数据存储到硬盘上,作用是当redis服务重启时或者当系统奔溃或故障,那么redis重启可以把数据从硬盘上恢复到内存。  redis的持久化机制有2种,第一种是快照;第二种是aof。1)快照方式  快照方式是指在一定时间间隔后当写命令达到了配置要求的数量,则把内存中的所有数据全部保存到文件。这里是采用的写时复制机制,...

2017-08-29 15:38:00 65

转载 redis的pipeline操作

1、简单描述  redis是一个CS模式的tcp的server,一个client发起了命令操作的请求,然后会阻塞等待服务端的处理和数据的返回。基本上一个命令请求就是2个报文,一去一回。如果多个命令,每次都是2个报文,这样网络传输的开销不小,在批量命令处理的时候,pipeline就可以减少这种网络开销而提升性能。假如client一个命令一个命令地发,一秒之内只能执行4个命令的,用了pi...

2017-08-28 17:44:00 120

转载 redis的事务(简单介绍)

1、简单描述  redis对事务的支持目前还是比较简单。redis只能保证一个client发起的事务中的命令是可以连续的执行,而中间不会插入其他client的命令。由于redis是但现场来处理所有client的请求的,所以这种事务的实现还是容易的。2、相关操作1)mulit命令:发起事务。2)exec命令:收到此命令后,redis会执行client开启事务后发来的...

2017-08-28 16:56:00 65

转载 redis的sort命令

1、简单描述  sort命令可以对list、set和sorted set的元素进行排序,然后显示排序的结果,不影响这些类型里面存储的数据的排序。就是说sort可以对list的元素排序,但是执行lrange等命令会发现在内存中存储的元素的顺序没变。2、相关操作(基于4.0.1版本)sort的格式:  sort key [BY pattern] [LIMIT offs...

2017-08-28 16:22:00 127

转载 redis的hash类型

1、简单描述  hash是一个string类型的field和value的映射表。添加和删除操作都是O(1)(平均)的复杂度。hash类型特别适合用于存储对象。在field的数量在限制的范围内以及value的长度小于指定的字节数,那么此时的hash类型是用zipmap存储的,所以会比较节省内存。可以在配置文件里面修改配置项来控制field的数量和value的字节数大小。  hash...

2017-08-27 22:52:00 332

转载 redis的sorted set类型

1、简单描述  和set类型一样,sorted set也是string类型元素的集合,不同的是每个元素都会关联一个double类型的score。sorted set的实现是skip list和hash table的混合体。当元素被添加到集合中时,一个元素到score的映射被添加到hash table中,所以给定一个元素获取score的开销是O(1),另外就是score到...

2017-08-27 21:58:00 63

转载 redis的set类型

1、简单描述  redis的set类型是string类型数值的无序集合。set元素最大可以包含2的32次方减1个元素。由于set类型是通过hash table实现(旧版本是这样,新版本不确定是不是改用了skip list来实现),所以添加/删除/查找的时间复杂度都是O(1)。hash table有个问题,就是添加或删除的时候,伴随着长度的变化的是需要同步(获取写锁)会阻塞其他读写操...

2017-08-27 20:59:00 224

转载 redis的list类型

1、简单介绍  redis的list类型其实就是一个每个元素都是string类型的双向链表。所以lpush、rpush、lpop和rpop命令的时间复杂度是O(1),list会记录链表的长度,所以llen操作也是O(1)的时间复杂度。链表的最大长度是2的32次方减1,。list类型可以用作队列或者栈。list还有阻塞版本,就是说如果队列为空,就会等待直到超时或者有数据放入队列。阻塞...

2017-08-27 17:33:00 625

转载 redis中与key相关的命令

1、简单描述redis本质上是一个key-value db,value可以有多种类型(string、hash、set、sorted set、list等),本章节不讲这些类型的命令,这里是讲跟key相关的命令操作。key本身是string类型,不支持边界符,比如my key 这种含有空格的名字是会报错的,mykey\n这样包含换行符的也不行,包含\r\n的会被特殊处理,暂不细说。...

2017-08-27 13:41:00 105

转载 redis远程连接问题(安全模式问题)

我在windows上远程连接linux上的redis(我虚拟机上的)遇到了问题,我是在windows上php代码中的调用redis接口来远程连接的,代码中ping()的时候报错。服务器端我确定了iptables和selinux是关闭的,我的redis-server有启动,因为ps能查到,端口6379也是有监听的,netstat能查到。我的redis-server是部署在19...

2017-08-27 00:23:00 230

转载 redis的安装和配置

1、选定一个稳定版本打开redis官网的下载页https://redis.io/download选一个稳定版本安装,当前的最新稳定版本是4.0.12、安装切换到linux系统的/usr/local/src目录下载redis安装包:$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz...

2017-08-26 23:19:00 83

空空如也

空空如也

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

TA关注的人

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