-
ElasticSearch使用PHP全套流程实现
PHP 03-30 230浏览 0评论一、安装通过composer安装composer require 'elasticsearch/elasticsearch'二、使用创建ES类<?php require 'vendor/autoload.php'; //如果未设置密码 $es = \Elasticsearch\ClientBuil
-
通俗易懂 InnoDB 锁机制 以及 高并发 下如何解决超卖问题
MySql 03-02 200浏览 0评论1. 锁知识1.1 为什么会有锁的机制最大程度的利用数据库的并发访问;确保每个用户能以一致的方式读取和修改数据。1.2 lock 与 latchlatch 一般叫做闩锁,轻量级。 在InnoDB存储引擎中,latch分为 mutex (互斥锁)和 rwlock(读写锁),目的是用来保证并发线程操作临界资源的正确性,并且通常也没有死锁检测机制。很少用到。lock 是本文的主角,它的对象是事务,用来锁
-
PHP秒杀高并发2套方案各有千秋
PHP 02-28 178浏览 0评论秒杀会产生一个瞬间的高并发,使用数据库会增加数据库的访问压力,也会降低访问速度,所以我们应该使用缓存,来降低数据库的访问压力。可以看出这里的操作和原来的下单是不一样的:产生的秒杀预订单不会马上写入数据库,会先写入缓存,等用户支付成功时,修改状态,写入数据库。假设num是存储在数据库中的字段,保存了被秒杀产品的剩余数量。if($num > 0){
-
TP6.0 扩展类库目录(extend)使用
PHP 02-25 284浏览 0评论框架根目录下的 extend 目录称为 扩展类库目录,用于存放一些自定义的类,只要符合自动加载的规范(命名空间、类名、文件名),就可以拿来直接使用1. extend 目录的直接子内容假设在 extend 目录下创建一个 Upload.php 文件,如果是 extend 目录的直接子内容则不需要添加命名空间<?php class Upload { }此时可以在控
-
GO语言的并发编程goroutine
Golang 02-18 201浏览 0评论说到go语言最厉害的是什么就不得不提到并发,并发是什么?,与并发相关的并行又是什么?并发:同一时间段内执行多个任务并行:同一时刻执行多个任务进程、线程与协程进程:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存
-
数学函数在PHP中的相关应用
PHP 02-18 228浏览 0评论对于数学计算来说,最常见的其实还是我们使用各种操作符的操作,比如说 +加、-减 之类的。当然,PHP 中也为我们提供了一些可以方便地进行其他数学运算的操作函数。这些函数都属于 Math 扩展。这个扩展是默认包含在 PHP 源码中的,不需要额外的安装,也不需要在编译的时候有什么特别的参数,都是直接可以使用的。常见数学函数首先,我们来看看比较常见的数学函数。var_dump(abs(-12));&nb
-
Laravelapi 自定义 response 格式
PHP 09-07 1679浏览 0评论http 路由laravel 的 http 路由文件有两个 api.php 和 web.php➜ ~ ll /Users/shiwenyuan/test/test_demo/routestotal 32drwxr-xr-x 6 shiwenyuan staff 192 10 9 12:19 ./drwxr-xr-x 26 s
-
Lumen-jwt最详细用户认证
PHP 08-22 2031浏览 0评论Lumen-jwt用户认证下载安装Lumencomposer create-project --prefer-dist laravel/lumen lumen生成secretphp artisan jwt:secret安装tymon/jwtcomposer require tymon/jwt-auth:"^1
-
Laravel数据库查询中对 like 的值进行转义
PHP 08-20 2030浏览 0评论在laravel开发中,如果我们用到like模糊搜索$where[] = ['title', 'like', '%'.$data['title'].'%'];上面这种在laravel中会报数据错误。参考各种实例,可以这样做function like_str($str)
-
基于redis的分布式锁防止高并发重复请求
PHP 08-06 1509浏览 0评论需求:我们先举个某系统验证的列子:(A渠道系统,业务B系统,外部厂商C系统)(1)B业务系统调用A渠道系统,验证传入的手机、身份证、姓名三要素是否一致。(2)A渠道系统再调用外部厂商C系统。(3)A渠道系统将结果返回给B业务系统。 这3个过程中,(2)过程,调用外部厂商是需要计费的。当B业务系统并发量很高时,有100笔相同的三要素校验,由于是相同的三要素,A渠道只要调用一次厂商即可知道结
-
用户密码输错N次,自动锁定
PHP 08-06 1885浏览 0评论好久没更新了,来一篇,一个小功能看看需求:除去验证码登录,一般的账号密码登录的时候往往会设置各种限制,现在来捋捋这个账号冻结小功能。功能逻辑:1)给用户表增加两个字段:err_time(登录账号密码输错的时间),err_count(账号密码输错次数)。在这里波波说的一点就是也有朋友建议用缓存的方式,但是我想了一下如果用缓存的话,存在一些人会登录一下清除一下浏览器缓存,这样即使多次输错,也实现不了账
-
Thinkphp6-自定义指令
PHP 07-09 3031浏览 0评论tp5都有的自定义指令在tp6文档没有找到。根据之前的tp5的也差不多一样的用法php think make:command Swoole tcp如上图指令类就创建好了<?phpdeclare (strict_types = 1);namespace app\command;use think\console\Command;use think\con
-
Golang-IO操作拷贝文件
Golang 06-26 1662浏览 0评论package main import ( "fmt" "io" "os" ) /** * 判断文件是否存在 存在返回 true&nbs
-
Golang简单写文件操作的四种方法
Golang 06-26 2109浏览 0评论I/O操作也叫输入输出操作。其中I是Input,O是Output,用于读或者写数据的,有些语言也叫流操作,是指数据通信的通道。Golang标准库对IO的抽象非常精巧,各个组件可以随意组合,可以作为接口设计的典范package main import ( "bufio" &quo