设计模式之代理模式之读写分离!!!

小伙伴们你们的小可爱逗比又上线了!!!

最近感觉带表情的文章看多了,写篇文章不放上几十个表情感觉自己都写不出来什么!!!原谅你们的小可爱放荡。。。不羁。。。爱谁谁!!!

好了好了,开始上课了,今天你们的刘老师要讲的内容是?对对对!!!最后面那个同学说的对,就是设计模式之代理模式额外加读写分离设计!下课别走啊,刚才哪位同学!!!

代理这个词,相信很多同学应该不陌生了吧!

1、从非程序来说,代理生活中最常见的就是朋友圈刷屏的各种商品等等。

2、从服务器架构上来说,代理就是转发,好比你和第三者之间需要沟通,但是你还不能直接和他交流,你要靠别人帮你带话,这种中间人就是代理了!

3、从设计模式来说和以上两种类似也就是相等于中间件,然后通过rpc从代理上获取数据

首先我们我们梳理一下使用代理模式做读写分离的步骤

1)接口类必须(统一规范)

首先我们要定义一个接口文件

interface IProxy
{
    function getThing($id);
    function setThing($id, $name);
}

这样做的目的就是统一规划,按照面向对象编程规范去做!

《PHP面向对象编程规范》

2)实现接口方法

class Proxy implements IProxy
{
   //如果是读操作就用连接从数据库
   public function getThing($id)
    {
        $db = Factory::getDatabase('slave');  //工厂模式封装(后面讲)
        $db->query("select name from user where id =$id limit 1");
    }
    //如果是写操作就连接主数据库
 public function setThing($id, $name)
    {
        $db = Factory::getDatabase('master');  //工厂模式封装(后面讲)
        $db->query("update user set name = $name where id =$id limit 1");
    }
}

这样呢简单的就实现了代理模式的数据读写分离的操作!当然这只是对莫一个模型的操作,小伙伴们可以自行封装多个模型,只要严格按照面向对象编程规范就可以了!

原文发布于微信公众号 - 思梦PHP(sm_php)

原文发表时间:2017-11-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

基于Redis实现分布式锁-Redisson使用及源码分析【面试+工作】

在分布式场景下,有很多种情况都需要实现最终一致性。在设计远程上下文的领域事件的时候,为了保证最终一致性,在通过领域事件进行通讯的方式中,可以共享存储(领域模型和...

5482
来自专栏Gaussic

淘宝开放平台API开发(一) 原

       淘宝官方为应用开发者提供了一套很好的API,开发是只要调用它的API接口就可以获取相应的数据。笔者现正从事Java Web开发,因而就淘宝API调...

982
来自专栏鹅厂网事

高性能网关设备及服务实践

针对海量的网络流量,转发性能是我们最关键的一个方面,那构建高性能的后台服务器有哪些关键的技术和需要注意的地方。

7068
来自专栏pangguoming

使用JAVA开发微信公众平台(一)——环境搭建与开发接入

一、 初始微信公众平台 微信公众平台,即我们平时所说的“公众号”,曾用名“官方平台”、“媒体平台”,但最终命名为“公众平台”。从微信的命名我可以发现,公众平台不...

5186
来自专栏happyJared

Linux私房菜:回头去学

说来惭愧,从学编程到现在写代码,算是用过不少东西,不过很多只停留在半解半知的状态,包括Linux在内,一直以来还没有较为系统的从基础开始学起。最近逼着自己回头看...

752
来自专栏移动端周边技术扩展

移动端常用数据库

2284
来自专栏C#

NodeJS异步I/O解析

    在现在的项目开发中,任何一个大型项目绝对不是简简单单的采用一个种语言和一种框架,因为每种语言和框架各有优势,与其死守一个,不与取各家之所长,依次得到一个...

2579
来自专栏京东技术

多级缓存设计详解 | 给数据库减负,刻不容缓!

物流研发部架构师,GIS技术部负责人,2012年加入京东,多年一线团队大促备战经验,负责物流研发一些部门的架构工作,专注于低延迟系统设计与海量数据处理。曾负责青...

2575
来自专栏熊二哥

快速入门系列--MVC--03控制器和IOC应用

    Asp.net MVC也接触好久了,但由于自己一直主要负责后台,尤其是数据库方面的工作对于该框架并没有一个很好的了解,尤其是蒋金楠大师的ASP.NET ...

1846
来自专栏V站

图片API丨V站二次元随机图片API(自判断)

①于2018.03.31公布,采用高速服务器运行! ②PC版随机图片拥有200+张,PE版拥有100+张超精美二次元风随机图片,每星期一更! ③全程免费,欢迎支...

2.8K10

扫码关注云+社区