- 博客(28)
- 收藏
- 关注
原创 redis缓存 - 秒杀库存超卖
关联链接http://blog.shuxuemi.cn/web/index/detail/19首先库存信息使用redis存储;在防并发操作时(秒杀减库存),一般由于check和set操作不是原子操作,导致脏数据。 从redis2.6开始可以使用lua脚本的形式,配合redis的单进程单线程模型,完成check和set原子操作function createOrder($product_i...
2020-03-05 15:06:09 1149
原创 排列组合算法(全排列、全组合)
原文链接http://blog.shuxuemi.cn/web/index/detail/16// 全排function fullArrange(&$arr, $index){ if ($index == 0) { return [$arr[0]]; } else { $rows = fullArrange($arr, $inde...
2020-03-05 14:44:32 2147
原创 平衡二叉树
代码实现<?phpclass BalanceSortTree{ public $left; public $right; public $parent; public $height; public $value; public function insert($value) { if (!$this->...
2018-03-19 16:55:56 175
原创 二叉排序树
代码实现<?php//二叉排序树class BinarySortTree{ public $left; public $right; public $parent; public $value; public function insert($value){ if(!$this->value){ ...
2018-03-19 16:54:19 133
原创 树的遍历
代码实现class Tree{ public $left; public $right; public $parent; public $value; //先序遍历 public static function firstDisplay(Tree $tree) { echo $tree->value . "<...
2018-03-19 16:52:40 134
原创 排序算法
function swap(&$a, &$b){ $a ^= $b; $b ^= $a; $a ^= $b;}//简单排序function simpleSort(&$arr){ $len = count($arr); for ($i = 0; $i < $len - 1; $i++) { for ($...
2018-03-19 16:50:49 123
原创 mysql优化
mysql数据库优化1. sql执行级别 (8)select (9)distinct (1)from<left_table> (3)<join_type> join <right_table> (2) on<join_condition> (4)where<where_condition&...
2018-02-28 19:50:57 149
转载 cookie和session的区别
参照:https://www.cnblogs.com/andy-zhou/p/5360107.htmlCookieHTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。Cookie技术是客户端的解决方案,Cookie就是...
2018-02-28 17:49:29 120
原创 PHP中防止SQL注入
sql注入主要是采用原生sql,进行字符串拼接查询时容易发生。为避免sql注入可以采用数据库的预处理功能,实现sql和参数的分离。 PDO库对此已经进行了封装,采用PDO库即可 具体使用参照http://www.php.net/manual/en/ref.pdo-mysql.php...
2018-02-28 17:28:42 160
原创 排序算法
#include<iostream>#define MAX 100using namespace std;//倒序排列//选择排序 简单选择排序|二元选择排序|堆排序void simpleSort(int *arr,int length){ int i,j; i=j=0; for(i=0;i<length-1;i++){ fo...
2018-02-28 11:59:23 122
原创 sql exists常用示例
表结构#学生信息表 ssno sname age sex#学生选课成绩表 scsno cno grade#课程信息表 ccno cname teacher练习1. 检索至少选修“程军”老师所授全部课程的学生姓名SNAMESELECT SNAME FROM S WHERE NOT EXISTS (SELECT * FROM C ...
2018-02-23 15:16:04 1203
原创 shell字符串操作
长度echo ${#str}截取子串echo ${str:start}echo ${str:start:length}字符串删除echo ${str#*/} 从字符串的开始匹配,匹配的删除echo ${str##*/} 从字符串的开始匹配,匹配的删除,贪婪匹配echo ${str%/*} 从字符串的结尾开始匹配,匹配的删除echo ${str%%/*}...
2018-02-23 15:13:09 98
原创 shell学习笔记
shell编程bash配置 vi ~/.bash_profile 这是bash初始化的目录环境变量 reset 将整个环境重置一下 set 获取所有的变量 env 查看所有的全局变量 export AAA 将AAA编程全局变量,这样子shell就可以访问AAA的值了 export aaa=fsdf 定义全局变量的值 PATH=$P...
2018-02-23 15:11:04 98
原创 postgres学习笔记
字段基本类型intchar(num)varchar(num)serial更多详情限制not nullprimary keyunique登录psql -U dbuser 默认登录进入名为dbuser的数据库中,如果不存在请-d指定相应进入的数据库psql -U username -p port -h localhost -d dbname命令行...
2018-02-23 15:10:21 176
原创 swoole异步任务实现
异步任务推送协议发送短信验证消息发送邮箱验证消息编写一个任务基类,声明run方法,子类实现run方法。添加任务信息的时候,信息里包含任务类名称,和要传递的参数任务服务器,调用任务实例执行服务端#!/usr/bin/env php<?phpclass Server{ private $serv; public function __const...
2018-02-17 14:51:21 915
原创 php7开发环境搭建
安装依赖yum -y install perl readline-devel pcre-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel zlib zlib-dev...
2018-02-17 14:37:50 496
原创 linux acl控制
linux#设置权限 echo 'passwrod'|sudo -S setfacl -Rm u:username:rwx file_or_dir#获取权限 getfacl file_or_dirmac$ chmod +a 'john allow read,write,delete,add_file,add_subdirectory,file_inherit,...
2018-02-17 14:36:23 154
原创 office转图片
Doc转换为pdf的解决方案pdf预览https://github.com/mozilla/pdf.js/tree/master/web监听服务方式soffice --accept="socket,host=127.0.0.1,port=8100;urp;"-display :1&unoconv -f pdf -o /data/wwwroot/1.pdf /da...
2018-02-17 14:34:50 918 1
原创 商品属性设计
商品多属性设计商品分类表categories : id,name,pid,type_id,son_ids,level,id_path商品类型表types : id,name商品属性表attrs : id,name类型属性关联表type_attr : type_id,attr_id商品属性sku表skus : id,attr_id,...
2018-02-17 14:32:43 473
原创 yii2事件触发,防止死锁
事件触发,防止进入死循环 说明:A操作会触发B操作.在B操作中再次执行A操作.此时要避免再次触发B操作save方法会触发beforeSave,afterSaveupdate会触发beforeUpate,afterUpdateinsert会触发beforeInsert,afterInsert解决方法#初始化层级_exec_level = 0#以update操作$thi...
2018-02-17 14:31:27 961
原创 simhash中文php支持
依赖scws,作为中文分词插件/** * 全角字符转变成半角字符 * @param $str * @return mixed */function replace_DBC2SBC($str) { $DBC = Array( '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9'...
2018-02-17 14:29:47 1589
原创 客户端扫码登陆原理介绍
介绍1. 电脑浏览器打开扫码登录页 服务器端会自动生成token存储在session中 redis hset($token,[],$expire_30); 并根据token生成url链接地址2. 客户端扫描二维码,访问链接中的地址 并传递对应的用户信息过来3. 服务器根据传来的token进行查询 如果不存在token值,说明页面过期 存在t...
2018-02-17 14:27:55 271
原创 php7性能分析工具xhprof使用
官方地址xhprof分析脚本引入在需要分页的页面最前面引入即可,不建议全局引入xhprof扩展安装git clone https://github.com/longxinH/xhprofcd xhprof/extension/phpize./configure --with-php-config=/usr/local/php/bin/php-config --ena...
2018-02-17 14:26:42 1252
原创 docker常用命令
[https://kb.cnblogs.com/page/536115/] [文档](http://www.runoob.com/docker/docker-hello-world.html)# mac 安装dockerbrew cask install docker# 查看版本信息docker --version# 查看基本信息docker info# 查看本地镜像do...
2018-02-17 14:23:39 157
转载 分享常见的几种页面静态化的方法 原链接:http://www.jb51.net/article/59619.htm
分享常见的几种页面静态化的方法常说的页面静态化分为两种,一种是伪静态,即url 重写,一种是真静态化。我们以真静态化为主来讲讲什么是PHP静态化PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处理机制不同。为什么要让网页静态化一、加快页面打开浏览速度,静态页面无需连接数据库打开速度较动态页面有明显提高;...
2017-10-13 19:29:19 502
原创 图片预览上传
js图片上传预览function PreviewImage(imgFile){var filextension=imgFile.value.substring(imgFile.value.lastIndexOf("."),imgFile.value.length);filextension=filextension.toLowerCase();if ((filextensi
2017-10-11 20:15:37 225
原创 mongodb学习笔记
show dbs 显示所有的数据库db 显示当前的数据库show tables | show collections 显示当前库下的所有表(集合)use db 切换数据库,如果数据库不存在就创建数据库,需要在数据库中插入数据否则数据库创建不成功db.c1.insert({name:"ding"}); 插入json数据 会隐式创建数据表c1db.c1.save({}) 基本上和
2017-10-11 20:10:09 249
原创 rsa加密
获取rsa密钥对<script src="./jsencrypt.js"></script><script src="./jquery.js"></script>var crypt = new JSEncrypt({'default_key_size': 1024});crypt.getKey();$("#privatekey").val
2017-10-11 20:03:12 529
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人