摘要:
这里我们主要利用Redis的setnx的命令来处理高并发。 setnx 有两个参数。第一个参数表示键。第二个参数表示值。如果当前键不存在,那么会插入当前键,将第二个参数做为值。返回 1。如果当前键存在,那么会返回0。 创建库存表 CREATE TABLE ( int(11) unsigned NOT 阅读全文
摘要:
[原文地址:https://blog.ti node.com/blog...] 要想更好了解socket编程,有一个不可绕过的环节就是IO.在Linux中,一切皆文件.实际上要文件干啥?不就是读写么?所以,这句话本质就是"IO才是王道".用php的fopen打开文件关闭文件读读写写,这叫本地文件IO 阅读全文
摘要:
重大新特性 支持 Redis/PDO/MySQLi 从4.1.0版本开始支持了对PHP原生Redis、PDO、MySQLi协程化的支持。 可使用Swoole\Runtime::enableCorotuine()将普通的同步阻塞Redis、PDO、MySQLi操作变为协程调度的异步非阻塞IO 协程跟踪 阅读全文
摘要:
前面写过利用文件锁来处理高并发的问题的,现在我们说另外一个处理方式,利用Mysql的锁来解决高并发的问题 先看没有利用事务的时候并发的后果 创建库存管理表 CREATE TABLE ( int(11) unsigned NOT NULL AUTO_INCREMENT, int(11) DEFAULT 阅读全文
摘要:
今天在对接一个第三方接口的时候,对方需要AES CBC模式下的加密。这里简单写一个demo 执行test方法 加密结果 øæ׌“j·A" OÈ[ótcÚ‡2Y‰XXÒ¦½™Ép¬p[DâFw`?oàá¹d&x4(çôl£‰¡±Ü‘I¾'ä YÖsÓd°Ý·^$’4höè¶Â÷G 阅读全文
摘要:
利用flock()函数对文件进行加锁(排它锁),实现并发按序进行。 flock(file,lock,block)有三个参数。 file : 已经打开的文件 lock : 锁的类型 LOCK_SH : 共享锁定(读锁) LOCK_EX : 独占锁定(排它锁,写锁) LOCK_UN : 解锁 LOCK_ 阅读全文
摘要:
JWT是什么 JWT是json web token缩写。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证。基于token的身份验证可以替代传统的cookie+session身份验证方法。JWT由三个部分组成:header.p 阅读全文
摘要:
使用到 redis list llen 命令:获取列表的长度,如果列表key不存在那么也是返回0,如果给的key不是一个列表类型会返回一个错误 lpush命令:将值插入到列表头部,如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误。 l 阅读全文
摘要:
工厂模式: 由工厂类根据参数来决定创建出哪一种产品类的实例。工厂类是指包含了一个专门用来创建其他对象的方法的类。所谓按需分配,传入参数进行选择,返回具体的类。工厂模式的最主要作用就是对象创建的封装、简化创建对象操作。 简单的说,就是调用工厂类的一个方法(传入参数)来得到需要的类; 优点 工厂类是整个 阅读全文
摘要:
在项目中,难免会遇到闭包的形式,那么在闭包中,变量的作用域到底是怎么样的呢。下面有几个简单的例子。 e1 以上结果会输出 hello_php 那么可以看到 $a 被作为了变量 通过use传递给了 匿名函数 func 作为参数使用;如果去掉$a = 'java'的注释,那么以上结果会输出 hello_ 阅读全文