11 2020 档案
摘要:php addslashes 需要注意的问题 存入数据库会去掉斜杠 所以一般别用 addslashes 实在不行就过滤双引号也行
阅读全文
摘要:PHP 使用ip链接需要注意的问题 能用内网的就用内网 因为内网不占带宽 外网传输要占带宽的 比方说链接数据库读取 内网就不用占带宽
阅读全文
摘要:// 单条插入 for ($i = 0; $i < 1000; $i++) { $name = rand(1000, 9999); $email = rand(1000, 9999); $message = rand(1000, 9999); $insertdata = array('name' =
阅读全文
摘要:phpredis 嵌套消息队列的方法 public function testxiaoxiduilie() { $redis = \RedisClient::getInstance(); $redis->flushall(); $key1 = "duilieitem1"; $redis->Lpush
阅读全文
摘要:PHP TCP处理大数据要注意的问题 1个tcp上 处理数据最好不要超过1分钟 不然会出现各种坑 如果超过1分钟就分批(分成多个tcp请求)处理 或者不要在tcp上处理
阅读全文
摘要:swoole hyperf CPU密集计算初体验 class IndexController extends AbstractController { public function index() { $ss=0; for($i=0;$i<1000000000;$i++){ $ss+=$i; }
阅读全文
摘要:PHP 换行编码问题 PHP_EOL 这个取决于当前系统的来决定换行符 如果linux 执行 那就是linux下的换行符 如果用win打开是不识别的 如果要win打开文件有换行 那就用win换行符写死 换行符必须和变量分离 $ss = __DIR__.'/test.txt'; $filename=3
阅读全文
摘要:swoole hypert 安装方法 先要安装2个php扩展插件 mbstring和redis mbstring php下载包里 然后就可以了 /usr/local/php7.3/bin/php /usr/local/bin/composer create-project hyperf/hyperf
阅读全文
摘要:<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; header("Content-type: text/html; charset=utf-8"); require_once __DIR__.'/s
阅读全文
摘要:下载微信视频号视频的方法(只有安卓有效) 进入文件管理 搜索finder_video 然后先全部删掉 然后按照时间排序下 找到最近的就行 后缀名加个mp4 (可能需要深度搜索)
阅读全文
摘要:php is_file is_dir需要注意的问题 如果有中文 必须转码到gbk 后判断 $file_path = __DIR__ . '/324234/' . $logname . 'log.log'; $file_path = iconv('UTF-8', 'GBK', $file_path);
阅读全文
摘要:谷歌浏览器跨域访问报错问题解决方案 直接nginx 设置下 必须在http上设置 其他地方设置目前发现没用 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers *; add_header
阅读全文
摘要:快速清除谷歌浏览器全部缓存的方法 用 Clear Cache插件 然后设置快捷键 chrome://extensions/shortcuts 就好了
阅读全文
摘要:PHP 禁用了cookie session还是可以用的 禁用了 session还是可以用的 只是sessionid一直都在变化 不要去用sessionid就可以了 其实session原理就是生成了壹sessionid为文件名的文件 然后不断的往里面写数据更改数据。。。 第一次浏览器请求是 服务端se
阅读全文
摘要:php-fpm和fastcgi的区别 nginx发送到php-fpm 需要fastcgi协议 然后php-fpm会创建work来处理PHP fastcgi协议就是 通讯协议 就是发包需要遵守协议 就是比如http请求一定要有header一样
阅读全文
摘要:phpredis实现互斥锁的方法 我这里说的2个逻辑 那就要2把所 逻辑A 和逻辑B 互斥 访问A 需要锁1 如果锁上了锁1 那就加锁锁2 释放锁1 逻辑运行 释放锁2 访问B 需要锁2 如果锁上了锁2 那就加锁锁1 释放锁2 逻辑运行 释放锁1 这样才能保证访问AA 和访问BB不堵塞 访问AB就堵
阅读全文
摘要:关于lnmp情况下PHP单线程的理解 linux php-fpm都是多线程 但是PHP就是单线程 1个客户端请求服务器是单线程(始终是1个线程) 多个客户端请求服务器就是多线程 举个例子 A页面 public function duqu() { $j=0; for($i=0;$i<100000000
阅读全文
摘要:客户端断开链接以后 PHP执行过程实测 public function duqurediss() { while (1) { $redis = \RedisClient1::getInstance(); $info = $redis->get('wf'); if ($info == 1) { $da
阅读全文
摘要:phpredis每隔30秒统计 $redis = \RedisClient1::getInstance(); $redis->incr('quanjusuo'); $redis->expire('quanjusuo',30); print_r($redis->get('quanjusuo')); e
阅读全文
摘要:要保证一致性 那就是mysql和redis要保证原子性 当然保证原子性是不可能的 可以有一种择优的方法 网上说双删 我感觉双删太复杂 我不建议采取 我方案就是 1 用redis记录下准备开始 2 缓存失效 3 读取数据库 4 数据库数据写入缓存 5 用redis记录下确保执行完 就是要保证 1到5
阅读全文
摘要:mysql锁表需要注意的问题 有时候添加索引需要锁表 lock table t10 write; 是锁读写 lock table t10 read 是锁写 unlock tables;释放所有锁 但是注意 mysql正在读取或者正在写入的时候 禁止操作锁表 不然会死锁 所以运行锁表前 所有逻辑关闭了
阅读全文
摘要:location / { add_header Last-Modified $date_gmt; add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; if_modif
阅读全文
摘要:让phpredis更快执行的方法 第一种方法用lua 但是要2.6以上才支持 第二种方法用管道 $redis = \RedisClient::getInstance(); $pipe = $redis->multi(\Redis::PIPELINE); $pipe->set('kucun', 10)
阅读全文
摘要:win7安装lua的方法 直接 下载https://github.com/rjpcomputing/luaforwindows/releases 安装 安装好 环境变量都设置好了
阅读全文
摘要:phpredis实现简单的消息队列 本来想用kafka 试用了下 感觉坑巨多 而且项目也不需要那么大的吞吐量所以放弃这个方案了 <?php require_once __DIR__ . '/phprediscaozuo.php'; $redis = \RedisClient::getInstance
阅读全文
摘要:linux centos zookeeper安装教程 wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz 注意 一定要下载bin哪个 bin就是二进制不用编译
阅读全文
摘要:redis bind多个ip的方法 redis bind自带的是 ip 必须是外网能访问的ip 所以一般通过防火墙设置 一般去去 阿里云安全组设置方便 而且攻击都是打在阿里云上
阅读全文
摘要:python远程创建文件夹上传文件 这里注意 路径/一定要完整 不然 os.path.join 默认都是\链接路径的 import paramikoimport osip='1121';username='12';password='32333';transport = paramiko.Trans
阅读全文
摘要:redis集群简单设置方法 先把redis ip放到数组里 $ss=[1,2] 然后 $key='wef'; echo abs(crc32($key)%2); 根据输出来决定放在哪个redis服务器 ps:如果服务器数量增加了 切记先把redis缓存全部清空 再执行 不然会乱调 当然也可以采取强一致
阅读全文
摘要:php ssh2安装教程 下载地址 http://windows.php.net/downloads/pecl/releases/ssh2/0.12/ 根据自己PHP的版本去下载,我使用的是线程安全的,所以下载的是php_ssh2-0.12-5.4-ts-vc9-x86.zip 将 php_ssh.
阅读全文
摘要:PHP is_dir is_file 文件路径需要注意的问题 参数 文件路径一定要绝对路径 不能用相对路径 不然 判断不准确
阅读全文
摘要:linux centos挂载硬盘(新买的数据盘) 查看当前未挂载的硬盘 # fdisk -l 创建硬盘分区 # fdisk /dev/sdb 根据提示,依次输入"n","p" "1",两次回车,"wq",分区就开始了,很快就会完成。 格式化硬盘 # mkfs.ext4 /dev/sdb 建立挂载目录
阅读全文
摘要:javascript判断是否支持WebAssembly function iswebasm(){ var useWasm = 0; var webAsmObj = window["WebAssembly"]; if (typeof webAsmObj "object") { if (typeof w
阅读全文
摘要:javascript 调用WebAssembly的方法 1 windows下安装emscripten # 1.克隆emsdk git clone https://github.com/juj/emsdk.git # 2.进入emsdk文件夹 cd emsdk # 3.更新emsdk 这里使用是git
阅读全文
摘要:1 参数一定要有 时间戳和随机数 (时间戳 是后台要判断时间是不是过去1分钟 随机数后台也要redis存起来 防止重复请求) 2 如果是PHP写的模版也 可以PHP生成的session 变量 作为参数 这个也可以判断下 3 然后 进行参数各种算法生成sign 不过你js暴露了 再怎么搞也没用 什么时
阅读全文
摘要:php解决分布式事务的全宇宙最完美的解决方案 因为分布式逻辑过于复杂 所以全部自己写逻辑回滚 然后限流 限流是必须的 因为很多情况都是并发量大 网络不同导致失败
阅读全文
摘要:phpredis解决缓存穿透问题 我个人觉得直接判断 判断id<0直接 拒绝 就可以了 另外 穿透的参数 存起来 有布隆过滤器 我觉得没必要 因为。。。mysql读取为空 也是保存到缓存里的 他下次访问这个就是利用了缓存读取
阅读全文
摘要:mysql实现高并发计数器 因为在高并发下 set aa=aa+1要进行锁表 不然会计算错误 但是锁表了 性能就降低了 所以 计数器采用另外一种方案 CREATE TABLE `article_view`( `article_id` int(11) NOT NULL, `pond` tinyint(
阅读全文
摘要:php redis实现高并发排行榜 为什么用redis做?? 那还不是为了高并发下减少mysql压力(还有因为排行榜数据库比较少可以用redis存) redis实现高并发下的排行榜逻辑较为复杂 我这里先说下 mysql数据和redis数据保持一致的方法(排行榜redis要存 mysql也要存) 我这
阅读全文
摘要:php redis实现在高并发下防止库存超卖解决方案 我直接用set get来实现 毕竟他速度最快。。 $prize_id=2; //读取库存 如果缓存没数据那就先读取数据库 里面也实现了分布式锁 $sql='select prizecount from dsfs_prizelimit where
阅读全文
摘要:混rao加密 javascript的方法 npm install uglify-js -g uglifyjs copy.js -c -m -o min.js 就可以压缩了 降低了可读性 当然如果再eval加密会更好
阅读全文
摘要:html5 IOS 软键盘弹出解决方案 function iostcruanjianpan() { $('input,textarea,select').on('blur', function() { setTimeout(function() { //判断是不是继续点击第二个input继续 如果是
阅读全文