自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 redis解决超卖以及限制用户购买问题

问题描述:在高并发的情况下,让同一个客户只能买到同一种商品一次,不能继续购买,同时还要防止商品超卖。解决思路:超卖使用redis的队列性质。限制同一用户重复购买,使用集合。因redis的一个操作具有原子性。但是我们这次需要多个redis操作。那么redis的原子性就显得苍白无力。所以还要引入互斥锁的思想来解决多个操作不具备原子性的操作。既然同时有多个操作进行,为了保证多个操作的正常进行,同时引入redis事务特性。话不多说,直接上代码场景:秒杀活动。第一步:先把参与秒杀的活动存入队列```第二步 模

2021-03-10 09:51:30 1033

原创 setnx解决redis缓存击穿问题

缓存穿透:指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次去请求都要到DB去查询,可能导致DB挂掉。解决方案: 1.查询返回的数据为空,扔把这个空结果进行缓存,单过期时间比较端;2.布隆过滤器:将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被这个bitmap拦截掉,从而避免了对DB的查询。缓存击穿:对于设置了过期的时间的key,缓存在某个时间点过期的时间,恰好这时间对这个key有大量的并发请求过来,这些请求缓存过期一般都会从后端D

2020-12-17 14:08:00 703

原创 centos 如何使用crontab设置计划任务 并查看

1.使用命令crontab -e 编辑打开crontab2编辑命令例如0 0 * * * /usr/local/nginx/sh/history.sh (每天0点执行脚本)*/60 * * * * /usr/local/nginx/sh/activity.sh (每天整点一小时执行一次脚本)3.wq保存4.crontab - l 查看计划任务...

2020-10-20 15:59:52 445

原创 nginx配置ssl以及解决刷新问题

大家都知道https和http的区别在于ssl证书。因为开发微信移动网页必须需要https。因此nginx就必须配置ssl服务。下面教大家如何配置nginx的配置文件在conf文件下面的nginx.conf里在这里面我们可以创建多个server服务,并且每个server都需要配置一个刷新路径#443端口server {listen 443 ssl;server_name ***; //你所指向的域名index index.php index.html;root /usr/local/ngi

2020-10-10 10:32:57 1283

原创 linux下详细配置lnmp环境

首先你要了解什么是lnmplnmp 是 linux下安装nginx+mysql+php 是给PHP文件配置运行环境的。还有lamp和iis等 之所以选用lnmp是因为 nginx支持负载均衡和反向代理,用起来非常方便。进入正题首先先来安装nginx在根目录下创建一个存储环境所需要的安装包例如我们此次安装nginx-1.6.2,如果需要安装更高版本的请前往nginx官网下载最新的,安装...

2020-10-10 10:19:48 393

原创 PHP操作redis的常用方法

string类型1.set描述:设置key和value的值参数:Key Value返回值:BOOL 成功返回:TRUE;失败返回:FALSE2.get描述:获取有关指定键的值参数:key返回值:string或BOOL 如果键不存在,则返回 FALSE。否 则,返回指定键对应的value值。3.delete描述:删除指定的键参数:一个键,或不确定数目的参数,每一个关键的数组:key1 key2 key3 … keyN返回值:删除的项数4.setnx描述:如果在数据库中不存在该键,设

2020-06-09 15:35:14 188

原创 PHP实现微信企业自动打款

关于企业付款可以阅读微信商户平台的相关介绍网址:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1根据官网文档的介绍。用到的微信官方接口是https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers而实现这个功能是必须要证书的。(...

2020-04-20 13:08:53 829

原创 PHP如何计算俩个经纬度之间的实际距离

做这个功能之前我才思考了经纬度到底是怎么来的。只有了解到经纬度是怎么来的你才可以去想怎么计算这俩个经纬度之间的距离、为此我特意去看了经纬度的由来。 回归正题。真正实现这个功能其实就是一个公式 $R*ACOS(cos(floatval($add_lat)*PI()/180)*cos( floatval($v['add_lat'])*PI()/180)*cos(floatval...

2020-04-09 11:38:48 173

原创 tp5.1使用腾讯云实现ocr图像识别功能

由于本人目前在做的是一款关于车辆方面的小程序。所以就拿驾驶证识别来为小伙伴们讲解一下ocr图像识别的具体流程。 首先你要去申请一个腾讯云的账号,同时开通下你需要做的识别功能。他这里面通用文字识别,卡证文字识别,票据单据识别,汽车相关识别等。你只要开通相关的功能即可。 以驾驶证为例相关接口文档开发地址 https://cloud.tencent.com/document/produc...

2020-04-09 10:28:01 1433 1

原创 PHP生成自定义内容的二维码

因为本人经常做营销类的app或者移动网页。这些app的利益模式都是你推荐我,我推荐你,你成为我的下级,你消费我赚钱的盈利思路。为了方便形成这些利益模式,需要在创建用户的时候需要对每一个用户生成一个独有的二维码。TP5.0来配合"endroid/qr-code" : "^2.5"来生成二维码 // 生成推荐二维码public static function __buildQrcode($hco...

2020-01-03 15:23:33 440

原创 windows环境使用tp5.1实现对linux下的redis的操作

首先需要做的准备工作与工具由于小编经济有限,并没有使用真正的服务器来实现。但是虚拟机与centos7成功的代替了服务器。虚拟机与centos7小编我就不做过多介绍。相信大家都应该有所了解。只需要虚拟机和centos7构成了一台linux服务器即可。既然要操作redis,那么首先要安装redis。无论你是使用windows下载redis还是使用linux下载redis都可行。建议使用windo...

2019-12-09 15:18:11 273

原创 TP5.0和高德官方sdk配合开发云图功能

首先你要了解 此功能的作用是什么?拿最常见的例子:美团外卖。当你打开美团的时候你会发现自动获取你当前位置的GPS定位。然后会有一些外卖店铺根据你的定位来检索出你附近的店铺。而我们今天要做的就是这个功能。其次我主要以微信小程序定位来给小伙伴们做出演示。微信小程序的定位比app定位检索云图更为复杂。包含了app检索云图的所有功能。首先我们需要一个高德开发api的账号。https://lbs.a...

2019-10-24 10:17:08 635

原创 使用beecloud和easychat 做微信H5 微信公众号支付遇到的坑

首先我先来说明微信h5和微信公众号支付的区别微信H5指的是微信网页端支付。微信公众号支付指的是微信浏览器内发起微信支付,这种支付都是属于微信公众号支付。俩者本质的区别就是H5不需要微信网页授权,但是微信公众号支付需要网页授权。网页授权主要目的是啥,想必小伙伴们已经猜到了,就是获取openid。所以这俩个的区别就在于像微信端发起的时候是否传送一个openid的参数对了 忘了给你们介绍beeclo...

2019-09-18 11:14:08 502

原创 PHP tp5.0使用Spreadsheet 实现excel导出功能

首先 你需要使用composer 去镜像上拉去spreadsheet在composer.josn中添加在cmd中执行 composer update命令 从镜像中拉取Spreadsheet的文件包这些准备工作完成后我们就一起来实现导出功能吧首先你要从数据表中查到你想要的数据字段 有几个字段就代表你需要几列(这个一定要算好)不多说了 直接上代码比较直观 我会客观的讲解每一段的含义//...

2019-08-21 11:37:04 1088

原创 PHP curl查询全国快递物流信息

首先你要了解curl。curl是PHP一个很强大的,用来发送http请求的函数 详情请见:https://www.runoob.com/php/php-ref-curl.html。2.直接进入正题//number你查询的快递数publicfunctionexpress(number 你查询的快递数public function express(number你查询的快递数publicf...

2019-06-18 16:51:54 565

原创 PHP TP5.0 + easywechat开发微信退款流程以及遇到的一些坑

由于我上一次用了easywechat4.0 做了微信的支付,所以本次就来说一下微信退款easywechat的关于退款的文档写的比较简练,为此在开发过程中难免遇到一些坑需要自己完善本次我就分享一下在开发微信退款的流程首先和支付一样配置信息必须要,/*** 微信支付/‘payment’ => [‘app_id’ => ‘’, // 同公众号app_id‘mch_id’ ...

2019-05-20 16:28:01 3118

原创 easychat tp5.0 开发微信支付

做微信支付之前,需要了解微信支付需要的材料微信支付不同于支付宝支付微信支付需要双向证书证书可以去微信商户平台下载 具体下载及其操作请到微信商户平台查看 ,基本都是傻瓜式操作进入正题下载后的微信证书如下图所示:然后就是微信支付的配置信息我是在extra 该模块内设置,以便于获取配置信息如下:‘payment’ => [‘app_id’ => ‘wx38f6768b1...

2019-05-16 10:57:00 572

原创 PHP easyChat 生成小程序码的流程

本次示例采用的是TP5.0的框架首先使用composer去安装easychat最简单的方法是在composer.json中直接添加依赖然后在cmd 中执行 composer update千万不要忘了你的TP5.0要安装 composer如果你没有composer, 然后执行了 ,没有成功,然后喷我菜,那我也很尴尬。进入正题首先你要了解小程序码是什么,是干啥。因为生成的码类似于一朵花...

2019-05-14 16:31:32 672

原创 TP5 command自定义指令使用方法

首先创建一个PHP文件如在文件中编写class TaskClose extends Command{protected function configure(){ $this->setName('TaskClose')->setDescription('Here is the TaskClose everyday');}protected function ...

2019-04-19 15:31:50 3834

原创 PHP获取本月,上月,本周等等的开始时间和结束时间

if ($altime == "jinri") { $t = time(); $first = date('Y-m-d H:i:s', mktime(0, 0, 0, date("m", $t), date("d", $t), date("Y", $t))); // 当天开始时间 $last = date('Y-m-d H:i:s', mktime...

2019-04-19 15:12:50 2037

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除