摘要:Docker 包括三个基本概念,镜像(Image)容器(Container)仓库(Repository) Docker 指令 构建镜像 docker build -t . -t 镜像名称 启动容器 docker run -itd --name redis1 redis docker run -d ( 阅读全文
posted @ 2021-02-22 15:43 惊风破浪的博客 阅读(2) 评论(0) 推荐(0) 编辑
摘要:下载依赖包 go get github.com/PuerkitoBio/goquery 初始化 go mod init spider package main import ( "fmt" "github.com/PuerkitoBio/goquery" "log" "net/http" "os" 阅读全文
posted @ 2021-02-22 15:42 惊风破浪的博客 阅读(7) 评论(0) 推荐(0) 编辑
摘要:单例模式 class Signle { private static $instance = null; /** * 单例模式 保证数据库只实例化一次 * @return null */ public static function getInstance() { if (is_null(self: 阅读全文
posted @ 2021-02-22 15:04 惊风破浪的博客 阅读(3) 评论(0) 推荐(0) 编辑
摘要:并发与并行的区别 并发:同时处理许多个任务,实际把任务不同的时间点交给处理器处理,微观层面,任务不会同时处理; 并行:每一个任务分配给每一个处理器独立完成,多个任务一定是同时运行; 比如4个人同时使用4个水龙头打水,这种情况是并行,要求打水和水龙头数量相等.实际情况是需要打水的人数往往比水龙头的数量 阅读全文
posted @ 2021-02-22 15:02 惊风破浪的博客 阅读(14) 评论(0) 推荐(0) 编辑
摘要:nginx报500、502、503、504 有什么区别? 500:Internal Server Error 内部服务错误,比如脚本错误,编程语言语法错误。 502:Bad Gateway错误,网关错误。比如服务器当前连接太多,响应太慢,页面素材太多、带宽慢。 503:Service Tempora 阅读全文
posted @ 2021-02-22 15:00 惊风破浪的博客 阅读(6) 评论(0) 推荐(0) 编辑
摘要:linux目录介绍 /bin/ 二进制应用程序 /boot/ 开机启动引导目录 /dev/ 设备目录 /etc/配置文件目录 /home/ 本地用户目录 /lib/ 系统使用函数库的目录 /sys 系统文件 /usr 应用程序放置目录 /var 经常变化的(变量)文件 ps进程命令 ps aux 查 阅读全文
posted @ 2021-02-22 14:59 惊风破浪的博客 阅读(6) 评论(0) 推荐(0) 编辑
摘要:主从分离 复制一份主,一份从 修改配置redis.windows.conf,linux修改redis.conf,主的端口,6379(默认),从的端口6372 启动主运行,redis-server,启动从 配置从服务器 启动主 ./redis-server redis.conf 启动主 ./redis 阅读全文
posted @ 2021-02-22 14:58 惊风破浪的博客 阅读(3) 评论(0) 推荐(0) 编辑
摘要:redis操作类 class RedisHandler { public $provider; private static $_instance = null; /** * 连接redis * RedisHandler constructor. */ private function __cons 阅读全文
posted @ 2021-02-22 14:54 惊风破浪的博客 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Redis发布订阅 实现发布订阅机制(PUBLISH/SUBSCRIBE/UNSUBSCRIBE/PSUBSCRIBE/PUNSUBSCIBE) SUBSCRIBE chat #客户端1 创建了订阅频道名 PUBLISH chat "Redis PUBLISH test" # 新开启个 redis 阅读全文
posted @ 2021-02-22 14:52 惊风破浪的博客 阅读(8) 评论(0) 推荐(0) 编辑
摘要:什么是redis redis 键值支持的数据类型有:字符串类型、散列类型(哈希)、列表类型、集合类型、有序集合类型 redis 的主要用于实现缓存、队列、消息订阅等功能 redis 支持主从复制功能,实现高可用 redis 可以对内存中的数据进行持久化 redis工具介绍 redis-server: 阅读全文
posted @ 2021-02-22 14:50 惊风破浪的博客 阅读(7) 评论(0) 推荐(0) 编辑
摘要:一条更新语句的执行流程又是怎样的呢? create table T(ID int primary key, c int); 如果要将 ID=2 这一行的值加 1,SQL 语句就会这么写: update T set c=c+1 where ID=2; 查询流程不一样的是,更新流程还涉及两个重要的日志模 阅读全文
posted @ 2021-02-22 14:49 惊风破浪的博客 阅读(7) 评论(0) 推荐(0) 编辑
摘要:选择普通索引还是唯一索引? 对于查询来说: a.普通索引,查到满足条件的第一个记录后,继续查找下一个记录,直到第一个不满足的记录; b.唯一索引,由于索引唯一性,查到第一个满足的记录后,停止检索,但是两者性能插件微乎其微。因为innodb根据数据页来读写的。 对于更新过程来说: 当需要更新一个数据页 阅读全文
posted @ 2021-02-22 14:47 惊风破浪的博客 阅读(16) 评论(0) 推荐(0) 编辑
摘要:加锁范围:全局锁,表级锁,行锁; 全局锁:对整个数据库实例加锁,MySQL全局锁的方法,让整个库处于只读状态的时候,可使用这个命令;线程被阻塞,数据更新语句(增删改查,DML),数据定义语句(修改表结构,建表,DDL)和更新类事务的提交语句。全局锁,做全库逻辑备份,就是把整库每个表都 select 阅读全文
posted @ 2021-02-22 14:46 惊风破浪的博客 阅读(5) 评论(0) 推荐(0) 编辑
摘要:什么是索引:索引的出现简单来说是为了提交数据查询的效率,就像书的目录一样; 索引模型 三种简单模型,哈希表,有序列表,二叉搜索树; 哈希表:哈希表是一种以键 - 值(key-value)存储数据的结构,我们只要输入待查找的键即 key,就可以找到其对应的值即 Value。哈希的思路很简单,把值放在数 阅读全文
posted @ 2021-02-22 14:43 惊风破浪的博客 阅读(5) 评论(0) 推荐(0) 编辑
摘要:事务的特征,原子性,一致性,持久性,隔离性; 原子性:事务提交之前要么成功,要么失败; 一致性:比如转账我给其他用户转换,减少和增加余额前后是一致的; 持久性:数据的提交之后,保存到数据库就是永久的; 隔离性:并发的事务提交是相互隔离的,互不干扰; 多个事务执行的时候出现的问题:脏读,不可重复读,幻 阅读全文
posted @ 2021-02-22 14:41 惊风破浪的博客 阅读(3) 评论(0) 推荐(0) 编辑
摘要:MySQL架构图 连接器:连接命令mysql -hlocalhost -P 3306 -uroot -proot,服务端建立连接,完成TCP握手,连接器开始认证您的身份;如果密码不对会受到Access denied for user的错误,然后客户端程序结束,认证通过连接器会到权限表里面查出拥有的权 阅读全文
posted @ 2021-02-22 14:38 惊风破浪的博客 阅读(4) 评论(0) 推荐(0) 编辑
摘要:提升性能,我们会将数据库操作进行读写分离,写操作在主数据库(Master)完成,读操作在从数据库(Slave)完成 架构模式 一主一从 M-S 主主复制 M-S 一主多从 M-SSS 多主一从(5.7) MMM-S 联结复制 M-S-SS-S 一般都是读多写少,因此呈现的通常是一主多从的架构,如果一 阅读全文
posted @ 2021-02-22 14:28 惊风破浪的博客 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一.数据类型 1.数值型 整数类型,小数类型。默认有符号,可以有负数 -1,无符号可以使用unsigned约束; tinyint 1字节 极小整型; smallint 2字节 小整型 mediumint3字节 中整型 int/integer 4字节 整型 bigint 8字节 大整型 float 4 阅读全文
posted @ 2021-02-22 14:22 惊风破浪的博客 阅读(12) 评论(0) 推荐(0) 编辑
摘要:官方扩展 名称 地址 应用单元测试 https://github.com/top-think/think-testing 验证码 https://github.com/top-think/think-captcha 消息队列 https://github.com/top-think/think-qu 阅读全文
posted @ 2021-02-22 14:08 惊风破浪的博客 阅读(17) 评论(0) 推荐(0) 编辑