摘要:
Docker搭建redis集群 在《Redis的三种集群模式》这篇文章中,我们初步认识了redis三种不同的集群模式,接下来这篇文章,我们再通过实际部署搭建来对它们进行进一步的学习和了解。 一、主从复制模式 前提条件 这里准备了三台虚拟主机:192.168.205.10、192.168.205.11 阅读全文
摘要:
PHP中的OPCode和OPCache 概述 PHP作为一门动态脚本语言,其在zend虚拟机执行过程为:读入脚本程序字符串,经由词法分析器将其转换为单词符号,接着语法分析器从中发现语法结构后生成抽象语法树,再经静态编译器生成opcode,最后经解释器模拟机器指令来执行每一条opcode。 确切地说, 阅读全文
摘要:
Redis的三种集群模式 概要 通过持久化功能(详情请参考文章《Redis的持久化方式》),Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据。 但是由于数据是存储在一台服务器上的,如果这台服务器出现硬盘故障等问题,也会 阅读全文
摘要:
InnoDB支持的事务隔离级别 令人惊讶的是,大部分数据库系统都没有提供真正的隔离性,最初或许是因为系统实现者并没有真正理解这些问题。如今这些问题已经弄清楚了,但是数据库实现者在正确性和性能之间做了妥协。ISO和ANIS SQL 标准指定了四种事务隔离级别的标准,但是很少有数据库厂商遵循这些标准。比 阅读全文
摘要:
Docker镜像分层技术 在之前的两篇文章《使用Dockerfile制作镜像》和《Docker制作镜像的两种方式》中,我们对如何构建和存储镜像有了一定的认识,并且了解到镜像是docker的核心,镜像的概念主要就是把运行环境和业务代码进行镜像打包。 这一篇文章我们再来初步认识下镜像是如何分层的。 每个 阅读全文
摘要:
为什么 MongoDB 选择B树,MySQL选择B+树? 我们知道,Mongodb索引使用B树,而MySQL使用B+树。那么这两者的区别是什么? 注意:这里的Mysql指的是Innodb的存储引擎下的索引结构,其他存储引擎暂不考虑。 一、B树 具体结构: B树单一节点拥有的最多子节点数量,称为B树的 阅读全文
摘要:
MongoDB的使用 1、使用navicat连接 为了方便开发,采用navicat连接。需要注意的是navicat只有新版才能连接mongodb,我这里用的最新版本v15。没有安装最新版navicat的盆友,阔以参照下面链接下载安装: https://www.jianshu.com/p/3af7fc 阅读全文
摘要:
雪花算法(Snowflake) 雪花算法的背景 新浪科技讯 北京时间2012年1月30日下午消息,据《时代周刊》报道,在龙年新春零点微博抢发活动中,新浪微博发博量峰值再创新高,龙年正月初一0点0分0秒,共有 32312 条微博同时发布,超过Twitter此前创下的每秒25088条的最高纪录。 每秒钟 阅读全文
摘要:
php-fpm与swoole php本身是单进程单线程的,那么它是怎么解决并发问题的呢?这就涉及到本文将要提及的php-fpm和swoole 一、php-fpm(FastCGI 进程管理器) php-fpm的生命周期如图: 它的工作原理大概为: php-fpm启动->生成n个fast-cgi协议处理 阅读全文
摘要:
docker-swarm容器集群 最近接手公司的一个项目,原先是用docker-swarm部署的,所以借此机会学习了一下docker-swarm中,是如何来部署服务的,以及不同容器之间是如何连接相同的网络来进行通信的。 1、部署服务 1)docker stack deploy 用法:docker s 阅读全文