摘要:
首先安装:DrissionPage pip install DrissionPage 安装ddddocr: pip install ddddocr 代码示例: from DrissionPage import ChromiumPage,ChromiumOptions import random im 阅读全文
摘要:
微信的SDK太古老了,本人经过各种百度优化了一下。 <?php namespace app\models\wechat; class wxBizMsgCrypt { private $token; private $encodingAesKey; private $appId; /** * 构造函数 阅读全文
摘要:
秒杀会产生一个瞬间的高并发,使用数据库会增加数据库的访问压力,也会降低访问速度,所以我们应该使用缓存,来降低数据库的访问压力; 可以看出这里的操作和原来的下单是不一样的:产生的秒杀预订单不会马上写入数据库,会先写入缓存,等用户支付成功时,修改状态,写入数据库。 假设num是存储在数据库中的字段,保存 阅读全文
摘要:
查询所有空表: select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA ='数据库名称' and TABLE_ROWS = 0; 查询所有非空表: select TABLE_NAME from information_s 阅读全文
摘要:
使用HTMLPurifier插件过滤。 在项目根目录安装: composer require ezyang/htmlpurifier 过滤: /** * 防止xss攻击,过滤参数 * */ public function removeXss($string){ // 生成配置对象 $cfg = \H 阅读全文
摘要:
用redis的分布式锁可以解决商品超卖的问题,简单事例(基于YII2框架): /** * @desc 加锁方法 * * @param $lockName string | 锁的名字 * @param $timeout int | 锁的过期时间 * @return 成功返回identifier /失败 阅读全文
摘要:
本事例代码基于Laravel框架。 1.首先你的微信商户号需要开通微信H5支付 2.你的支付网站的域名需要在微信商户号后台配置 3.回调地址需要在外网中能打开并且能接受post请求,可以用postman检查一下。 事例代码: 支付类: <?php namespace App\Http\Control 阅读全文
摘要:
1.Mongodb: 文档数据库,存储的是文档(bson->json的二进制化) 特点:内部引擎用JS解释器,把文档存储成bson结构,在查询时转换为js对象,并可以通过熟悉的js语法操作。 2.Mongo和mysql(传统型数据库)比最大的不同: 传统型数据库:结构化数据,定好了表结构后,每一行的 阅读全文
摘要:
在一些场景下,一些数据需要用户登陆才能获取。因为我们可以做模拟登陆。 //模拟登陆 function loginPost($url, $cookie, $post){ $ch = curl_init(); //初始化curl模块 curl_setopt($ch, CURLOPT_URL, $url) 阅读全文
摘要:
1. 说到高可用的话要提一下redis,用过的都知道redis是一个具备数据库特征的nosql,正好弥补了PHP的瓶颈,个人认为PHP的 瓶颈在于数据库,像Apache和Nginx的高级web服务器在承受并发量上面都各有千秋,apache的最大承受并发数可以到三四千个,nginx要是它的10倍。 但 阅读全文