随笔分类 -  PHP

摘要:常见的mysql集群架构 根据业务发展阶段和业务代码部署情况不同,对于扩展单数据库可以使用以下几种部署架构模型 单地域高可用架构 单地域高可用架构的构成 dbproxy数据库代理: 主要处理:读写分离,主从切换等。 主库(高可用):处理业务写流量。 从库(多实例,可选高可用):处理业务读流量。 单地 阅读全文
posted @ 2020-04-02 09:09 WidgetBox 阅读(856) 评论(0) 推荐(0)
摘要:Redis中有个设置时间过期的功能,即通过setex或者expire实现,目前redis没有提供hsetex()这样的方法,redis中过期时间只针对顶级key类型,对于hash类型是不支持的可以采用,所以如果想对hash进行expires设置 redis 127.0.0.1:6379> hset 阅读全文
posted @ 2020-04-01 10:03 WidgetBox 阅读(19985) 评论(1) 推荐(0)
摘要:业务背景: 最近在做龙巅广告系统,使用了新的tp6框架 相关数据结构: advert_plan 广告计划表 advert_plan_position 广告计划位置表 这两个表示 计划表和位置表是 1:n 需求: 在计划列表中的信息已经是包含跨表信息,其中就有位置表里的信息,那该怎么做呢? /** * 阅读全文
posted @ 2020-03-14 21:26 WidgetBox 阅读(4868) 评论(0) 推荐(0)
摘要:FIND_IN_SET(str,strList) str 要查询的字符串 strList 字段名,参数以“,”分隔,如(1,2,6,8) 查询字段(strList)中包含的结果,返回结果null或记录。 strList 字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串.如果str不在s 阅读全文
posted @ 2020-03-02 10:41 WidgetBox 阅读(12508) 评论(0) 推荐(0)
摘要:$a = 30; $b = empty($a) || !$a ? 40 : $a; var_dump($b); 输出? 输出:30 错误的解释: empty($a) => false !$a ? 40 : $a => 30 正确的解释: php 运算符的优先级(参考链接https://www.soj 阅读全文
posted @ 2020-02-29 23:00 WidgetBox 阅读(421) 评论(0) 推荐(0)
摘要:正常layui-upload控件只需要在html中定义一个button,在js中渲染即可正常使用 在开发中遇到一种在html页面用script调用接口的方式,但是在script里包含了uoload,导致了layui的上传控件不生效 <script type="text/html" template 阅读全文
posted @ 2020-02-29 19:27 WidgetBox
摘要:mac通过phpstorm来gui管理svn时,提示Invalid VCS root mappings 原因是因为mac中的svn版本过高,phpstorm可以兼容的版本是svn 1.6 \ 1.7 \ 1.8 可以在phpstorm的terminal界面输入 svn --version 解决方法: 阅读全文
posted @ 2020-02-27 16:27 WidgetBox 阅读(276) 评论(0) 推荐(0)
摘要:某次排查用户充值到账问题,想从主库的binlog中找一些线索,裸的binlog文件是无法直视的,mysqlbinlog这个工具是用来查看binlog文件内容的(使用方式man mysqlbinlog查看),但是使用mysqlbinlog将binlog文件转换成人类可读的内容时却报错: mysqlbi 阅读全文
posted @ 2020-02-27 13:19 WidgetBox 阅读(957) 评论(0) 推荐(0)
摘要:mysql5.7及以后的版本 select查询字段未出现在group by 中是会报错的 需要在命令行中执行以下命令: 这只是单次生效,重启Mysql后会失效,如果要永久生效需要修改my.cnf set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_I 阅读全文
posted @ 2020-02-01 13:46 WidgetBox 阅读(3419) 评论(0) 推荐(0)
摘要:在php 7.1.* 版本,在使用过程中发现 浮点类型 数据经过 json_encode 之后会出现精度问题。在php 5.6.*上不会放生 $data = [ 'a' => '100', 'b' => 10, 'c' => 0.1 ]; echo json_encode($data); 输出: { 阅读全文
posted @ 2020-02-01 00:08 WidgetBox 阅读(1198) 评论(0) 推荐(0)
摘要:在开发过程中,随着业务整合,表数据结构发生了变化,为了整合,需要将字段值与字段值进行调换,于是做了如下总结: 1.将同一个表中的一个字段的值复制给另一个字段UPDATE tableSET field2 = field12.将同一个表中的两个字段一样类型的值调换UPDATE table1 u1, ta 阅读全文
posted @ 2020-01-31 20:16 WidgetBox 阅读(537) 评论(0) 推荐(0)
摘要:在php5之后已经有了类的自动加载机制,可以定义__autoload函数,在使用到某个未定义的类,执行php会出错,但是在此时php引擎在返回失败之前会去check下是否有定义__autoload去加载需要的类。 最近将项目切php7.0运行报错提示“Deprecated: __autoload() 阅读全文
posted @ 2020-01-12 12:03 WidgetBox 阅读(5117) 评论(0) 推荐(0)
摘要:author:hann (本文阅读预计5分钟) 一。前言: 最近公司项目引入了采购金返利活动,使用采购金和返还采购金同时开始,业务规则交错,所以每一笔钱的错位都会导致后续业务计算错误。 【保证精度与计算的正确性】,很重要。 二。碰到问题 开发时发现异常现象,在百分比计算返利时,有时候会多出1分钱问题 阅读全文
posted @ 2020-01-08 18:43 WidgetBox 阅读(822) 评论(0) 推荐(0)
摘要:官方地址:https://fly.layui.com/extend/treeSelect/ 下面介绍一下这个插件的使用方法 1.html页面 <div class="layui-input-block"> <input name="pid" value="" type="text" id="tree 阅读全文
posted @ 2020-01-02 13:59 WidgetBox 阅读(2883) 评论(0) 推荐(0)
摘要:模型中获取到数据后,不需要先转换为数组,可以直接以数组的方式访问对象的属性(模继承了ArrayAccess),前提先判断一下是否为空(isEmpty方法)。 模型输出中的hidden,append,visible配合使用,可以很好的控制输出的字段。 使用模型自带的获取器的时候,会自动把原值给覆盖掉, 阅读全文
posted @ 2019-12-31 23:44 WidgetBox 阅读(337) 评论(0) 推荐(0)
摘要:在thinkphp5中是通过softdelete trait实现数据软删除的。在使用中需要在模型定义中引入softdelete trait,并添加protected $deleteTime = 数据库字段,即可实现数据的软删除操作。软删除后,通过sql查看数据库表发现,在相应的字段中添加了时间戳内容 阅读全文
posted @ 2019-12-31 23:14 WidgetBox 阅读(1267) 评论(0) 推荐(0)
摘要:redis 3.2版本中增加的最大功能就是对GEO(地理位置)的支持 当前业务中地图方面是调用高德api(云图),请求多少会有延迟 而redsigeo可以实现查找附近的终端以及测量两点之间的直线距离(有误差) 1、geoadd:增加某个地理位置的坐标。 2、geopos:获取某个地理位置的坐标。 3 阅读全文
posted @ 2019-12-30 12:14 WidgetBox 阅读(1969) 评论(0) 推荐(0)
摘要:最近运营的同事反映,用户发布的帖子内容很多都进入到了待审核状态 由于我们系统中有一套敏感词检查的机制,如果包含敏感词则帖子进入先审后发 其中就用到了strpos 函数,众所周知,strpos用于查找字符串中某个子串第一次出现的位置。 每次数据来了,想要查找这个字符串中某个字符是否存在,就会使用到它。 阅读全文
posted @ 2019-12-25 11:04 WidgetBox 阅读(384) 评论(0) 推荐(0)
摘要:在日常的开发测试中我们经常会遇到本地开发和测试或者线上配置参数不同的场景,必要你要是使用一个三方的支付,它的本地测试和线上的key值或者账号存在不同。最基本的做法是本地用测试参数,提交到测试的时候再改参数。这种做法比较繁琐。 此时我们完全可以使用下面降到的方法,根据项目运行环境来自动加载参数。活不多 阅读全文
posted @ 2019-12-18 11:24 WidgetBox 阅读(1765) 评论(0) 推荐(0)
摘要:签约步骤 first step: 进件商户接口 —— http://wiki.caibaopay.com/qian-yue-jie-kou-lie-biao/shang-hu-jin-jian-jie-kou.html 返回采宝的商户号cb_merchant_code ,采宝默认收银员id等,后续接 阅读全文
posted @ 2019-12-13 17:03 WidgetBox 阅读(322) 评论(0) 推荐(0)