高性能WEB开发

2018年5月

May 8, 2018

CSpeed简单API示例

在业务场景中,可能存在这样一个简单化的使用接口的情况,根据不同的接口分类不同的位置然后在入口处引入。在CSpeed中使用此方案很简单,具体的使用如下示例如下:$app = new Cs\App('../app/config.core.ini'); $app->get('/', function(){ // 以斜杠开头的路由表示截取所有的路由请求,因此会拦截掉所有的后续请求 ...
May 7, 2018

CSpeed配置nginx路由

CSpeed默认支持两个路由模式:PATH-INFO与URL,其中PATH-INFO模式依赖于解析$_SERVER['PATH-INFO']信息来进行路由分析,而URL 模式,指定 CSpeed 从 url 地址中的指定参数获取路由信息,引擎默认(__csurl)参数。用户可以从以下两个参数进行配置:core.debug.mode = on ...
May 5, 2018

CSpeed数据库操作

在CSpeed中,提供了两种操作方式,PDO方式与基于PDO的ActiveRecord方式,下面分析这两种方式在CSpeed的用法:在 CSpeed中,如果需要进行PDO与ActiveRecord方式的切换使用,非常方便,框架提供了一种切换方式,从ActiveRecord切换到PDO原生方式:getDb()与getAdapter(),如:CSpeed中数据库的操作类有两种类型:Cs\db\p...
May 5, 2018

CSpeed参数过滤

由于开发中,用户输入的数据或多或少需要进行处理,以防攻击与系统安全,因此CSpeed针对GET于与POST提交的参数提供了一个可选过滤参数(第二个参数)进行处理:/** * @var $request Request */ $request = $this->di->get('request'); $id = $request->getPost('id', funct...
May 5, 2018

CSpeed非重定向路由转发

在接口系统开发中,一般一个接口地址对应一个接口请求,导致接口地址过于雍胖,如下:获取苹果列表:https://www.supjos.cn/api/goods/lists.html获取草莓列表:https://www.supjos.cn/api/strawberry/lists.html如果我们还需要几十个接口甚至几百个接口,则接口地址过于雍胖,我们其实可以从业务角度解析下,都是接口,所以我们...
May 5, 2018

CSpeed 解耦使用

在中大型项目开发中,一般情况下,为了将各个组建之间的耦合关系减小,会采用一些方式:使用接口,少用继承配置文件解耦CSpeed借鉴Java Spring Bean的思想,将组件的耦合集中于配置文件,使用Cs\ObjectFactory类处理,如下:耦合配置文件配置示例:return [ 'rsa' => [ 'class' => '\app\mod...
May 2, 2018

总结

题目总结1、如何解决或降低缓存服务的单点故障导致数据库的流量井喷?2、实现评论楼盖楼效果,从数据库与代码层面提出各自的解决方案?3、快排、堆排序的时间复杂度?不稳定的排序算法有哪些?写一个快排示例,语言不限4、某APP有上亿(2亿)用户使用,为了深刻挖掘用户需求,需要设计一个日志收集系统,用于收集用户日常使用情况,请用你知道的知识设计一套这样的日志收集系统。假设,用户每次操作、点击APP都将...