随笔分类 -  PHP

摘要:[TOC] Last Modified: 2019年5月10日11:44:18 参考链接 "使用 Laravel Queue 不得不明白的知识" "Laravel 队列文档" 本文环境 Laravel 5.5 队列 Redis 为什么使用队列 使用队列的目的一般是: 1. 异步执行 2. 出错重试 阅读全文
posted @ 2019-05-10 12:00 嘉兴Xing 阅读(276) 评论(0) 推荐(0)
摘要:[TOC] 参考链接 "PHP开发规范之使用phpcbf脚本自动修正代码格式" "在PhpStorm中使用PSR2编码规范phpcbf脚本自动修正代码格式" 使用 PHP CS Fixer 的可以看这篇文章: https://learnku.com/laravel/t/547/use php cs 阅读全文
posted @ 2019-05-07 17:06 嘉兴Xing 阅读(413) 评论(0) 推荐(0)
摘要:先看以下代码 我们以为会得到结果 "互联网产品", 但实际上获得的是 ""互联网产��" 为什么呢, 其实这是编码引起的问题. " " 这个函数在处理字符时是按照ascii编码来处理, 先看一下 的编码: php $str = "互联网产品、"; for ($i = 0; $i 阅读全文
posted @ 2019-04-30 09:46 嘉兴Xing 阅读(399) 评论(0) 推荐(1)
摘要:[TOC] 前言 Laravel 支持多种缓存系统, 并提供了统一的api接口. (Laravel 5.5)默认支持的存储驱动包括如下: file (默认使用) apc array (数组, 测试用) database (关系型数据库) memcached redis 默认的缓存配置文件在 参考链接 阅读全文
posted @ 2019-03-25 18:06 嘉兴Xing 阅读(657) 评论(0) 推荐(0)
摘要:[TOC] 背景 项目中需要过滤用户发送的聊天文本, 由于敏感词有将近2W条, 如果用 来处理会炸掉的. 网上了解了一下, 在性能要求不高的情况下, 可以自行构造 Trie树(字典树), 这就是本文的由来. 简介 Trie树是一种搜索树, 也叫字典树、单词查找树. DFA可以理解为DFA(Deter 阅读全文
posted @ 2019-03-01 18:56 嘉兴Xing 阅读(1459) 评论(0) 推荐(0)
摘要:[TOC] 锁实现的注意点 1. 互斥: 任意时刻, 只能有一个客户端获得锁 2. 不会死锁: 客户端持有锁期间崩溃, 没有主动解除锁, 能保证后续的其他客户端获得锁 3. 锁归属标识: 加锁和解锁的必须是同一个客户端, 客户端不能解掉非自己持有的锁(锁应具备标识) 如果是Redis集群, 还得考虑 阅读全文
posted @ 2019-02-26 15:28 嘉兴Xing 阅读(4505) 评论(0) 推荐(1)
摘要:[TOC] 前言 小型web服务, session数据基本是保存在本地(更多是本地磁盘文件), 但是当部署多台服务, 且需要共享session, 确保每个服务都能共享到同一份session数据. redis 数据存储在内存中, 性能好, 配合持久化可确保数据完整. 设计方案 1. 通过php自身se 阅读全文
posted @ 2019-02-20 16:16 嘉兴Xing 阅读(3910) 评论(0) 推荐(0)
摘要:[TOC] 错误与异常 错误 和 异常 在PHP 中不一样的, 它们都表明代码出现问题, 且都能提供错误信息. Points: 错误 出现的时机比异常早 错误 可以委托给全局错误处理器处理, 有些错误是无法恢复的, 会导致脚本停止 异常 要先实例化(Exception类), 然后抛出, 可以被捕获( 阅读全文
posted @ 2019-01-23 18:26 嘉兴Xing 阅读(1102) 评论(0) 推荐(0)
摘要:[TOC] 1. 前言 前段时间刚为项目(手游)实现了一个实时排行榜功能, 主要特性: 实时全服排名 可查询单个玩家排名 支持双维排序 数据量不大, 大致在 1W ~ 50W区间(开服, 合服会导致单个服角色数越来越多). 2. 排行榜分类 按照排行主体类型划分, 主要分为: 角色 军团(公会) 坦 阅读全文
posted @ 2019-01-23 18:15 嘉兴Xing 阅读(2339) 评论(1) 推荐(0)