gitlab 安装镜像镜像地址传送门安装[root@gitlab ~]# yum install -y curl policycoreutils-python openssh-server [root@gitlab ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce.0.el7...
说明Docker中镜像存储在只读层,当通过镜像创建容器相当于启动了一个新的进程, 在容器中是可读写的,默认情况下,容器内创建的文件都会存在容器的写入层.当容器删除.数据不会持久化, 即使用相同的镜像创建容器也是无法获取到之前的数据.为了使数据能够保存并且可以与其他容器共享数据.目前Docker提供了Volumes, Bind Mounts,tmpfs Mounts三种方式.Volumevol...
说明在数据切分处理中,特别是水平切粉,中间件最重要的两个过程就是数据切分和聚合.选择合适的切粉规则决定了数据聚合的难易程度,甚至可以避免夸库的数据聚合处理.全局表当业务中有些数据类似于数字字典,比如配置文件的配置,常用业务的配置或者数据量不大很少变动的表,并且大部分的业务场景都会用到,那么这种表适合于全局表.不需要对数据进行切粉.在每个分片上都保存一份数据即可.mycat在join操作中.业...
公共方法构建健设置redis的key,例如用户A获取2021-03的key返回user:sign:A:202103private function buildSignKey($user, $date = '') { return "user:sign:" . $user . ':' . $this->buildDate($date); }构建日期格式将日期转...
介绍 策略模式就是将特定的算法封装成类来适应特定的环境.解决了在有多种算法相似的情况下,使用 if...else... 所带来的复杂和难以维护.优缺点优点算法可以自由切换.避免使用多重条件判断.扩展性好.缺点策略类会增多.所有策略类都需要对外暴露.演示创建策略接口 Tools/Strategy.php定义接口方法<?php namespac...
介绍 适配器模式是作为两个不兼容的接口之间的桥梁,这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能.它可以将不同的API封装成统一的API,例如数据库操作有mysql,mysqli,pdo三种,使用适配器模式使其统一成一致的.优缺点优点可以让任何多个没有关联的类一起运行.提高了类的复用.增加了类的透明度.灵活性好.缺点:过多地使用适配器,会让系统非常零乱...
介绍 创建对象中,单例模式确保某个类只有一个实例,并且会自己实例化向外提供这个示例.例如在使用单例模式操作数据库的时候可以避免大量的连接数据库消耗资源,减少数据库连接. 当需要单例模式的对象直接调用getInstanc()获取之前实例化的对象,不需要重新实例化对象.当一个对象需要频繁的创建销毁,而性能又无法优化的情况下使用单例模式是非常节省资源.特...
介绍 抽象工厂声明一个创建抽象产品对象的接口,通常以接口或抽象类实现,所有的具体工厂类必须实现这个接口或继承这个类.优缺点优点 当一个产品族中的多个对象被设计成一起工作时,能保证客户端始终只使用同一个产品族中的对象.缺点 产品族扩展非常困难,要增加一个系列的某一产品,既要在抽象的工厂里加代码,又要在具体的里面加代码.演示&em...
介绍 静态工厂模式又叫做简单工厂模式,工厂模式是最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式,其核心用法就是根据不同的参数获得不同类的方法就是其设计思想.优缺点优点一个调用者想创建一个对象,只要知道其名称就可以.扩展性高,新增加一个产品,只要扩展一个工厂类就可以.屏蔽产品的具体实现,调用者只关心产品的接口.修改类名,只需修改工厂模式里的类名即可.缺点&...
命名空间 当没有命名空间的时候写的代码都相当于在同一个命名空间之下,是不能出现重复的命名类和相同名称的方法.当没有命名空间时创建Test1.php<?php function Angel() { echo 'test_1' . PHP_EOL; }创建Test2.php<?php function Angel() { echo 'test...