MySQL学习笔记(六)扩展性设计之Memcached
1.作为系统性能提升的工具
首先,我们给出使用Memchched作为Cache服务层的简图如下所示:
从图中可以看出,所有数据都需要insert,update,delete到Master中,并且如果对Master进行update或者delete之后,从memcached中delete掉,从而保持数据的一致性。读取数据的时候,先从memcached中读取,如果读不到,再去slave中读取。
这种方式其实跟MySQL本身关系不大,完全通过应用程序就可以实现。
2.和MySQL整合成数据服务层
通常我们有两种方式来实现这种架构:
1.利用Memcached的内存容量来作为MySQL的二级缓存,从而提高MySQL的缓存容量;
可以通过一个开源项目waffle grid实现
2.MySQL通过UDF来和Memcached通信,而客户端直接和Memcached交互就行。
这样memcached的维护交给了master