11 2019 档案
摘要:laravel自带了auth类和User模型来帮助我们很方便的实现用户登陆、判断。首先,先配置一下相关参数 app/config/auth.php: model 指定模型table 指定用户表这里我只是将table从users改成user,因为我个人在数据库命名方面喜欢用单数。 app/models
阅读全文
摘要:一、前言 数据库是每个系统都不可缺少的东西,里面记录了系统各种数据资料。但是如今的数据膨胀的时代,数据库性能不能满足我们的需要了。所以我们要对数据库进行强化,就用到了Mycat。 二、何为数据切分? 简单来说,就是指通过某种特定的条件,把我们存放在同一个数据库中的数据分散存储到多个数据库里。 数据的
阅读全文
摘要:只讨论一个域下的项目。 eg: a.xxx.com 和 b.xxx.com 来共享session 如果多个laravel项目共享SESSION要满足以下条件: SESSION可以存放在一个地方,eg:共用一个reids用户表为连接同一个数据库的用户表需要在同一域下操作步骤:以将session 存放到
阅读全文
摘要:laravel框架的文档中的例子很多时候不是很明显,所以想要真正的使用好这个框架,我们可以尝试去阅读它源码中的注释(不得不说laravel源码的注释还是很详细的)。 我们先来看一下laravel 的文件目录结构,上图为laravel官方给出的5.3版本目录结构,事实上laravel对目录结构的要求是
阅读全文
摘要:今天有朋友问到我如何用redis记录一亿用户的一天的登录状态,其实这个问题有两种需求,不同的需求可以使用不同的方法,如果说要做详细的统计的话,那么可以使用Redis位图 我们都知道8bit = 1b = 2^-10kb, bitmap就是通过最小的单位 bit来进行0或者1的设置,表示某个元素对应的
阅读全文
摘要:数据库分库分表 前言 今天有朋友问到了数据库分库分表,他们都说数据库达到了瓶颈,需要重构,但是毫无头绪,现在做个概念总结(期待后期的实操吗?) 会从以下几个方面说起: 第一部分:实际网站发展过程中面临的问题。 第二部分:有哪几种切分方式,垂直和水平的区别和适用面。 第三部分:目前市面有的一些开源产品
阅读全文
摘要:消息队列在高并发的场景是必备技能,随着我们的使用,在生产环境中的问题也是非常的多,比如:消息队列如何做到高可用呢?场景的中间件有很多种类型,在这里就准备常用的一些就用于分析处理。 1. RabbitMQ 的高可用性 RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用性的,我们就以
阅读全文
摘要:基于redis分布式缓存实现 第一:Redis是什么? Redis是基于内存、可持久化的日志型、Key-Value数据库高性能存储系统,并提供多种语言的API. 第二:出现背景 数据结构(Data Structure)需求越来越多, 但memcache中没有, 影响开发效率 性能需求, 随着读操作的
阅读全文
摘要:一 、场景描述 在开发接口服务器的过程中,为了防止客户端对于接口的滥用,保护服务器的资源, 通常来说我们会对于服务器上的各种接口进行调用次数的限制。比如对于某个 用户,他在一个时间段(interval)内,比如 1 分钟,调用服务器接口的次数不能够 大于一个上限(limit),比如说 100 次。如
阅读全文
摘要:简介HTTP 中间件提供了为过滤进入应用的 HTTP 请求提供了一套便利的机制。例如,Laravel 内置了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一步操作。 当然,除了认证之外,中间件还可以被用来
阅读全文
摘要:总结Auth中间件用于定义未登录用户只能操作哪些权限policy授权策略定义了当前用户实例与进行授权的用户是否匹配,一致才能进一步操作,否则返回403禁止访问异常场景:用户登录 Auth步骤 找到需要过滤动作的控制器,以中间件形式写入该类的构造方法中(或可在路由定义,在group by语句前) ex
阅读全文
摘要:即时交互的应用 在现代的 Web 应用中很多场景都需要运用到即时通讯,比如说最常见的支付回调,与三方登录。这些业务场景都基本需要遵循以下流程: 客户端触发相关业务,并产生第三方应用的操作(比如支付) 客户端等待服务端响应结果(用户完成第三方应用的操作) 第三方应用通知服务端处理结果(支付完成) 服务
阅读全文
摘要:一、这里使用Caffienate Modules 网址:modules maintained by caffeinated 二、根据自己的版本选择包的版本 三、在项目composer.json文件中加入"caffeinated/modules": "3.0.*",并运行 composer updat
阅读全文
摘要:1. ElasticSearch安装 直接使用brew install elasticsearch 安装最新版本的es,基本没有障碍。 2.Laravel5 框架添加elasticsearch支持 在composer.json文件中添加elasticsearch-php依赖: 执行composer命
阅读全文
摘要:$serv=new swoole_websocket_server("0.0.0.0",9501);$client=array();$serv->on("open",function($serv,$req)use($client){ //echo 'connect'.$req->fd; $clien
阅读全文
摘要:一、单点登录系统开发需要注意的问题 1.单点登录系统需要支持jsonp请求? 单点登录系统主要是向其他系统提供用户身份验证服务,因此需要提供对外接口,而外部系统通过接口访问时,必然涉及跨域问题,因此需要单点登录系统支持jsonp消息转换,即能正确处理跨域请求。否则,请求接收到的数据解析失败,chro
阅读全文
摘要:进程、线程、协程三者之间的联系与区别 一、进程 进程,直观点说,保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己独立的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源),进程是资源分配的最小单位。 二、线程
阅读全文
摘要:laravel容器包含控制反转和依赖注入,使用起来就是,先把对象bind好,需要时可以直接使用make来取就好。 通常我们的调用如下。 $config = $container->make('config');$connection = new Connection($this->config);比
阅读全文
摘要:laravel容器包含控制反转和依赖注入,使用起来就是,先把对象bind好,需要时可以直接使用make来取就好。 通常我们的调用如下。 $config = $container->make('config');$connection = new Connection($this->config);比
阅读全文
摘要:对列作用 队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短Web请求和相应的时间。 队列进程原理:写一个死循环的脚本在Linux系统持续运行,新的队列任务push到这个脚本中。一、配置 队列 配置文件存放在config/queue.php 。在该文件中你将会找到框架自带的每一个队列驱动
阅读全文
摘要:一、前言这篇文章其实是上篇文章的内存优化部分。博主的php程序在执行的时候,报错: Out of memory (allocated 364904448) (tried to allocate 262144 bytes) 也就是传统的内存不足报错,问题是我本地设置的内存已经是1280M了,简直不能忍
阅读全文
摘要:一 .什么是mysql连接池 场景:每秒同时有1000个并发,但是这个mysql同时只能处理400个连接,mysql会宕机。 解决方案:连接池,这个连接池建立了200个和mysql的连接,这1000个并发就有顺序的共享这连接池中的200个连接。 这个连接池能够带来额外的性能提升,因为这个和mysql
阅读全文

浙公网安备 33010602011771号