本文系统分析了缓存系统中的三大核心问题:穿透、击穿和雪崩。缓存穿透指请求查询不存在的数据,解决方案包括参数校验、缓存空值和布隆过滤器;缓存击穿是热点 Key 失效导致的高并发冲击,可通过互斥锁或逻辑过期策略解决;缓存雪崩源于大量 Key 同时失效,建议采用随机过期时间、多级缓存和限流降级机制。文章通过对比表格清晰展示了三种问题的区别与应对策略,为构建高可用缓存系统提供了系统性解决方案。
辰风沐阳 阅读 801 2022-03-01
魔术方法是一种特殊的方法,当对对象执行某些操作时会覆盖 PHP 的默认操作。在定义类方法时不能使用魔术方法的名称,除非是想使用其魔术功能。魔术方法都是以两个下划线开头的方法,所以在定义自己的方法时不应以两个下划线开头
辰风沐阳 阅读 2434 2022-02-26
当我们发布版本时,通常会先在版本库打一个标签,这个标签就是我们平时所说代码仓库的版本号。标签是版本库的一个快照,但它其实就是指向某个 commit 的指针。tag 就是一个让人容易记住的有意义的名字,它跟某个 commit 绑在一起
辰风沐阳 阅读 2255 2022-02-22
微信小程序提交审核时,提示让修改用户隐私保护协议。对于很多用户,也包括我,不知道怎么修改用户隐私保护协议才容易通过,我在网上找的了一个比较全的用户隐私保护协议范文,可以拿来直接填写,很方便,特此记录一下
辰风沐阳 阅读 6958 2022-02-22
冒泡排序的英文名是 Bubble Sort,是一种最基础的交换排序算法。在汽水中常有许多的小气泡往上飘,而冒泡排序之所以叫冒泡排序,正是因为这种排序算法的每一个元素都可以像小气泡一样,根据自身的大小,一点一点的像数组的一侧移动
辰风沐阳 阅读 1847 2022-02-18
本文记录下修改小程序管理员的详细步骤,修改管理员的方法非常简单,但我们有些客户没有接触过小程序,还真不知道怎么修改。当我们绑定的公众号开发者、小程序项目成员很多时,一个一个解绑很麻烦,也比较慢,我们可以在公众号中进行解绑
辰风沐阳 阅读 3123 2022-02-18
git checkout 命令用于切换分支或恢复工作树文件。常用的命令参数: -q 不显示提示信息 -b 创建并切换分支 -B 创建/重置并切换分支
辰风沐阳 阅读 2627 2022-02-17
一般情况下,我们删除文件都是手动将文件删除,但是这种删除方式使用 git status 查看状态就会看到文件在 Changes not staged for commit 的提示区域中。更加方便的方式是使用 git rm 命令,可以将文件从暂存区和工作区中删除
辰风沐阳 阅读 2177 2022-02-16
当我们需要修改线上服务器上的项目时,通常我们有以下几种方式。1. 在宝塔面板中直接修改文件 2. 使用 ftp 软件拉取下来修改 3. git 项目本地修改,远程服务器上使用 git pull 拉取 4. VSCode 使用 ssh 连接远程服务器直接修改服务器文件
辰风沐阳 阅读 4390 2022-02-15
git init 用于在目录中创建新的 git 仓库。这个命令应该每个人是初次学习 git 时最先接触的命令吧,本文将围绕该命令引出一些相关的内容。如果要去掉初始化仓库时的 hint,可以设置默认分支 git config --global init.defaultBranch
辰风沐阳 阅读 2449 2022-02-14
公司有一个话费充值项目,需要获取手机号的运营商,进行执行不同的逻辑。根据手机号的前三位就可以知道手机号的运营商,所以我们可以通过正则表达式匹配手机号格式,进而得到手机号的运营商
辰风沐阳 阅读 1859 2022-02-14