拥有Thinkphp标签的文章

实例:分布式锁

当程序的访问量大到一定程度之后我们通常会采用分布式架构,使用多台应用程序服务器来运行代码,之前文章我们已经介绍过在分布式架构下如何使用独立存储 SESSION。在高并发的情况下还有一种情况很常见,尤其是在多进程,多线程的情况下使用独立 Redis 服务器时,当某个时间缓存不存在,请求量又很大的时候,大量请求涌向数据库,导致数据库崩溃。这时我们可以使用分布式锁来解决问题。
阅读全文

实例:抽奖

实例:抽奖本文使用 Redis 的集合数据结构制作定期开奖,并不是即时开奖。形式类似微博转发抽奖。建立待抽奖名单待抽奖名单可以一次性建立,也可以对符合条件的及时创建待抽奖名单。本文采用一次性建立,和即时创建用法一致都是通过 sAdd 实现<?php $redis = new \Redis(); $redis->connect('127.0.0.
阅读全文

实例:限制访问次数

实例:限制访问次数上文我们演示了每分钟只允许访问一次,接下来我们演示一下共允许调用1000次,常见业务场景如快递信息调取接口,接口是付费的。比如100元可以查询1000次。共允许调用1000次 public function somthing($user_id) {     $redis = new&nb
阅读全文

实例:限时访问

实例:限时访问在接口开发工作中很常见的限时访问功能,每个用户每分钟只允许调用一次接口。或者论坛中,每个用户五分钟之内只能提交一次评论。本章我们就来实现一个简单的限时访问,每个用户每分钟只允许调用一次接口。在高并发的项目中,通常我们不会用业务层代码来处理限时访问,更常见的是用 Nginx + Lua + Redis 来实现限时访问。每分钟只允许调用一次接口public function&n
阅读全文

实例:排行榜

实例:排行榜排行榜功能几乎存在于所有项目中,如按照发布时间倒序的新闻列表,按照考试成绩正序的成绩表,按照浏览量从大到小的话题。Redis 中列表和有序集合两种数据结构都非常适合用于排行榜系统中。本文采用使用有序集合来开发一个投票项目来演示排行榜。1.创建投票选项1.1 创建投票方法使用Request::instance()->post()接受数据保存到数据库public funct
阅读全文

《 swooleThinkphp 》TCP 服务器 【 八 】

UDP 服务器UDP 协议与 TCP 协议属同一层的网络协议,相比 TCP 协议而言,UDP 协议则轻巧了许多,UDP 协议是一个高效且不可信的传输协议,因为 UDP 协议只管发送数据,无法得知数据是否传输成功。当数据传输环境特别可靠(如内网环境)或者数据丢失部分也可以接受,并且无法容忍延时。则推荐使用 UDP 协议。接下来我们演示一下如何用 ThinkPHP5 和 Swoole 来构架一个 UD
阅读全文

《 swooleThinkphp 》异步 TCP 客户端 【 七 】

异步 TCP 客户端与上一个同步 TCP 客户端不同,异步客户端是非阻塞的。更适合编写高并发的程序。需要注意的一点是 异步 TCP 客户端只能运行在命令行环境下。
阅读全文

《 swooleThinkphp 》同步 TCP 客户端 【 六 】

swoole客户端
阅读全文

《 swooleThinkphp 》TCP 服务器 【 五 】

TCP 服务器TCP 协议是一个可靠的传输协议,当数据传输中需要可靠的数据传输,并且数据到达顺序严格遵守发送顺序。如果数据传输失败需要重试,并且可以容忍偶尔发生延时,则推荐使用 TCP 协议。在网络游戏开发中,TCP 协议扮演了重要的角色,很多即时对战的游戏都严重的依赖 TCP 协议。如魔兽世界,穿越火线等> 当然,像魔兽世界这种大型网络游戏不可能只使用一种网络协议,我们只是针对当前章节举例
阅读全文

《 swooleThinkphp 》异步非阻塞多进程的 Http 服务器 【 四 】

在很多情况下,大家使用 Swoole 都只是在使用 web socket,而没有使用 Swoole 真正“重新定义PHP”的功能,那么 Swoole 真正解决了 PHP 的痛点就是本章介绍的,仅仅使用 web socket 还没体现出 Swoole 真正的高性能方面。 我们通常使用 Nginx,Apache 或者 IIS 来做为运行 PHP 的 Web 服务器,其实是内部的 PHP 解析器来解析 PHP 代码,PHP 内部提供了 SAPI(Server Application Programming
阅读全文
首页 12 末页 共 18 条记录