Redis 发布订阅是一种消息通信模式,发送者(pub)发送消息,订阅者(sub)接收消息。微信、微博、关注系统。 Redis 客户端可以订阅任意数量的频道。 使用场景 实时消息系统 实时聊天 订阅、关注系统 转自:ht…
分类:PHP
【转载】Redis 乐观锁
转自:https://blog.csdn.net/qq_38322527/article/details/112437041 什么是锁? 锁的作用:在进行数据库操作时,A 用户更新数据的同时B 用户不能更新! 如果没有锁…
【转载】Redis 数据类型
转自:https://www.cnblogs.com/Cloong/p/16448786.html Redis 数据类型 Redis 有 5 种数据类型,分别为: String Hash List Set Sorted …
【原创】大数据量表格数据导出
导出数据 demo 以导出 100 万条数据为例: public function export() { //让程序一直运行 set_time_limit(0); //设置程序运行内存 ini_set('mem…
【原创】Scrum 入门常识
Scrum 是一个项目管理框架,适用于流程比较复杂,尤其是变化和不确定比较多的情况下。Scrum 的机制是由一个一个重复循环的迭代组成,每一个迭代称为一个 Sprint。 Sprint 每一个 Sprint 由一到两个星…
【转载】什么是原子操作
转自:https://blog.csdn.net/D_C_Hao/article/details/103977320 原子操作是指一个不受其他操作影响的操作任务单元。原子操作是在多线程环境下避免数据不一致必须的手段。 处…
【原创】分库分表原则
分库分表是为了解决单击数据库的瓶颈问题。 单击数据库瓶颈 在一台服务器中,PHP、Nginx 和数据库都安装与此,所以随着业务量增加,磁盘、内存都是有上限的。 资源不足 性能不足 并发数 什么是分库分表? 分库:把一个数…
【转载】hash 索引和 B+树索引的区别
B+树索引 B+树首先是有序结构,为了不至于树的高度太高,影响查找效率,在叶子节点上存储的不是单个数据,提高了查找效率; 为了更好的支持范围查询,B+树在叶子节点冗余了非叶子节点数据,为了支持翻页,叶子节点之间通过指针相…
【原创】二叉树、红黑树、B树、B+树总结
二叉树 在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”,左子树和右子树同时也是二叉树。 二叉排序树 二叉排序树又叫二叉查找树或者二叉搜索树,它首先是一个二叉树,而且必须满足下…
【转载】超卖、库存问题
在做秒杀类的程序时,最常见的就是超卖问题。产生原因如下: 解决方法 使用 Redis,可提升速度 对数据进行限制,可采取乐观锁、悲观锁或 lua 脚本 悲观锁与乐观锁 可参见:https://zhuanlan.zhihu…
【转载】中文文案排版规范
转自:https://learnku.com/docs/writing-docs/typography/3957 论排版的重要性 对于技术人来讲,技术文章就是我们的门面。想了解一个技术人的能力,或者潜力,可以从他的博客文…
【转载】workman 和swoole 有哪些区别和异同
转自:https://zhuanlan.zhihu.com/p/93016619 workerman和swoole在现阶段很受争议,有时间你得认识认识,不然你就不是混php圈子的。swoole是使用C语言实现的socke…
【转载】Windows 10 配置 docker lnmp 开发环境
转自:https://learnku.com/articles/59764 https://learnku.com/articles/22493
【原创】TP6 的使用
安装 composer create-project topthink/think tp 运行 在根目录下运行 php think run 之后访问 http://localhost:8000/ 请求流程
【原创】TP6 和 TP5.1 的区别
TP5.1 中的 thinkphp 文件夹在 TP6 中移动到了 vendor 文件夹中(vendor/topthink/framework/src)。 TP5.1 中的 application 在 TP6 中变为了 a…
【原创】PHP 设计模式之门面模式
什么是门面模式 门面模式又称为外观模式,门面模式的作用是为多个子类提供一个统一的高级口,隐藏系统的复杂度,可以提高系统的灵活性和安全性,不会暴露系统的复杂性。 客户端进行访问的时候不需要在意子类的复杂度和实现过程,只需要…
【原创】InnoDB 和 MyISAM 对比
InnoDB 支持事务,MyISAM 不支持 InnoDB 支持外键,MyISAM 不支持 MySQL5.5.5 之后,InnoDB 是默认引擎 InnoDB 不支持全文索引 InnoDB 支持行锁,MyISAM 支持表…
【原创】MySQL 性能优化
MySQL 性能优化 配置优化 从服务端来说,可以增加服务端的可用连接数 从客户端来说,可以减少从服务端获取的连接数 连接池 缓存 架构优化 在应用系统的并发数非常大的情况下,如果没有缓存,会造成两个问题:一方面是会给数…
【原创】Swoole 的应用
Swoole 的应用 创建 Server 构建 Server 对象 设置运行参数 注册事件回调参数 启动服务器 $server = new \Swoole\Server($host, $port = 0, $mode =…
【原创】Swoole 是什么?
Swoole 是 C 语言编写的一个扩展。 Http——编写一个简单的 Web Server TCP/UDP 编写一个消息接受处理系统 协程,相比线程更加稳定好用 Socket,通讯处理技术 可以异步和并发地处理请求 毫…
【转载】PHP 单例模式
转自:https://blog.csdn.net/sosemseo/article/details/106398224 什么是单例模式 单例模式是指整个应用中某个类只有一个对象实例的设计模式。具体来说,作为对象的创建方式…
【原创】使用 ClashX 进行科学上网
转自:https://instar.me/archives/84807ed.html 下载 ClashX 由于我的 Mac 是 M1 版本,需要下载 ClashX 的 pro 版本。 下载地址:https://paolu…
【转载】PHP8 新特性介绍
转自:https://www.w3cschool.cn/article/41824727.html 随着2020年11月26日开发者峰会的结束,php开发团队也宣布 PHP 8 正式发布。PHP8作为PHP语言的一个主版…
【转载】PHP7 新特性
转自:参考:http://cn.bing.com/?mkt=zh-CN PHP7.0 新特性 性能提升:PHP 7 的速度是 PHP 5.6 的两倍 标量类型和返回值类型声明 标量类型 函数、方法中的参数是可以加一个类型…
【转载】MySQL基础之索引、虚表视图和游标
转自:https://www.jianshu.com/p/5748793856e7 1 MySQL索引 MySQL索引分类:普通索引,唯一索引,主键索引 1.1 添加索引 1.1.1 普通索引 创建表时添加索引: cre…
MySQL 全文索引
创建全文索引(FULLTEXT INDEX) 创建表的同时创建全文索引 CREATE TABLE `article` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT …
【转载】SQL--contains的用法
转自:https://blog.csdn.net/penghao_1/article/details/86148217 1. 查询住址在北京的学生 SELECT student_id,student_name FROM …
【转载】MySQL模糊查询 结果按匹配度 排序
转自:https://blog.csdn.net/qq_19922839/article/details/120578815 我们在使用 MySQL 进行模糊查询的时候,受到默认排序的影响,我们会发现与查询关键字相似的记…
TP3 和 TP5 的区别
入口文件位置 TP3 的入口文件 index.php 在根目录下,TP5 的入口文件则在 public 目录下。 助手函数 去掉了M()、D()、C() 等函数,但保留了助手函数的概念,例如 M()=>db()、D…
【转载】关闭 Mac Office 的自动更新
转自:https://www.bilibili.com/read/cv17715618/ 如何让app不自启: 打开终端(可以按 command + 空格,输入enter 回车) 执行:cd /Library/Appli…