分布式缓存之memcached(LAMP+memcache +(mysql))

1 memcached应用场景

1.1 Web缓存

想象有这么一个场景,一个电子商务 站,在 站的左侧会是商品的分类,中间是商品搜索结果的列表,可以查看商品信息和商家的基本信息和相关商家的信誉度信息。
在这个场景下,因为一个商场的类别不会经常改变的。实时性不是很高,这样应该放到缓存中取的。

一般时候做法:
执行一次或者多次sql从数据库中查询全站的商品分类—->>递归形成你所需的分类tree——>>进入处理数据——->>显示到页面上。

使用 memcached做法:
:判断memcached缓存中是否有该分类—-没有—–>执行一次或者多次sql从数据库中查询全站的商品分类—–>放到memcached中——->>进入处理数据——->>显示到页面
:的判断memcached缓存中是否有该分类—-有—>>-从memcached中取出数据——–>>进入处理数据——->>显示到页面

当这个过程首次发生时,数据将正常地从数据库或其他数据源加载,然后再存储到 memcached 内。当下一次访问此信息时,它就会从 memcached 中取出,而不是从数据库加载,节省了时间和 CPU 循环。

但是要是数据中的数据改变怎么来更新memcached中的数据呢br> :更新数据库中分类的信息——->找到memcached中key值,删除——>重新插入到你的memcached中就可以了。emcached 内的存储操作是原子的,所以信息的更新不会让客户机只获得部分数据;

1.2 数据库缓存

2.1 基础环境配置

环境规划

同步时间:

关闭防火墙

2.2 web服务器配置

在192.168.91.140 安装软件,启动服务

安装mysql客户端等:

启动服务:

在mysql服务端创建用户:

测试http功能:

2.3 memcache 服务配置

2.3.1 安装部署 memcache

软件版本:
libevent 稳定版:
memcached 稳定版:

Libevent安装:

Memcached安装

启动:

链接测试:

代码测试

测试memcache是否缓存数据库成功

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8581 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年6月22日
下一篇 2019年6月22日

相关推荐