随笔分类 - PHP
摘要:定时任务,是很常见的业务场景了。比如说游戏服的定时开服,定时发消息,定时发邮件等等。 定时任务的触发方式有很多,有的人借助 linux 系统的 crontab 服务,但是 crontab需要每分钟去轮询,所以 crontab 会有一分钟误差。也有的人选择自己写一个定时器去处理定时任务。 这里我们介绍
阅读全文
摘要:前置条件: 所有测试生成的都写入一个新文件,如果是同一个文件名,那么每次执行脚本前,需要把该日志文件删掉,确保每次执行时日志文件都是重新创建的。 每次执行都是往日志文件中使用多进程写入90000行日志。每种方式分成四种对照组测试: 30*3000 加锁(即30个进程每个进程写入3000行,总共900
阅读全文
摘要:都说cookie不安全,现在通过一个很简单的例子来说明它为什么不安全。 对于cookie的概念这里就不做阐述了。前端截取cookie的方式有多种,下面介绍一种比较简单的手法。 首先: 小黑会在各种网站发布帖子,然后在某些特定的地方添加吸引人点击的内容,而该内容会有一些超链接。比如在A网站,小黑在发布
阅读全文
摘要:有时会遇到这样一个问题,本地和接口在验证数据签名时,明明两端打印出来的两个字符串一模一样,但是md5加密后的两个密文却不一样。例如:本地字符串:$str = "a=1&b=2&c=3";此时将数据请求到接口,接口获取到的数据可能会变成这样:$str = "a=1&b=2&c=3";那
阅读全文
摘要:如同web端的QQ和微信一样,这是一个web端的聊天程序。 环境:ubuntu + php + swoole扩展 + redis + mysql Redis 实现每个连接websocket的服务都唯一绑定一个用户。通过 用户账号 = websocket fd 存到redis中。 Mysql 实现离线
阅读全文
摘要:注:本文使用的代码基于PHP,其他语言逻辑同理。 一:使用COOKIE实现登录验证 使用cookie实现登录的方式,主要通过一些单向的加密信息进行验证。比如admin用户登录了之后,服务端生成一个cookie值:admin_1533006028_ bbf2c2b1ec5cfb62d0a30438d8
阅读全文
摘要:PHP中的魔术方法有很多,这些魔术方法可以让PHP脚本在某些特定的情况下自动调用。比如 __construct() 每次实例化一个类都会先调用该方法进行初始化。这里我们讲一下__get() 魔术方法的使用。读取不可访问属性的值时,__get() 会被调用。也就是,当想要获取一个类的私有属性,或者获取
阅读全文
摘要:当用户数量达到百万甚至千万级别的时候,可能无法靠单标满足现有需求。此时常用的处理方式就是分库分表。这里介绍一个简单的分表方法。 对用户进行分表,首先要解决的是将一个用户分配到那个表,然后如何知道去哪个表查询该用户的数据。解决了这个两个问题。无论将该用户的数据放在哪个表都无所谓。 首先来看一个方法:
阅读全文
摘要:递归函数是一种调用自己的函数。写递归函数时要小心,因为可能会无穷递归下去。必须确保有充分的方法来终止递归。 一:使用参数引用完成递归函数。操作的是同一块内存地址。 二:使用全局变量完成递归函数。在函数域内部用 global 语句导入的一个真正的全局变量实际上是建立了一个到全局变量的引用。例子中,te
阅读全文
摘要:遍历一个数组是编程中最常见不过的了,这里跟大家讨论下for和foreach两种方法。用这两种方法执行遍历的场景太多太多了,这里我们只针对以下两个数组作为例子来讨论。所谓管中窥豹,多少能理清一点两者的区别。 首先,我们先准备两个用于遍历的数组: $arr1=array(1=>'a', 3=>22, 5
阅读全文

浙公网安备 33010602011771号