您好!欢迎进入清大软舰IT教育官网!
咨询电话:0817-2694333
主页 > 新闻动态 >

成都电脑编程培训班

发布时间:2019-12-05 点击:
相关知识点:1、memcached是什么

Memcached 常被用来加速应用程序的处理,在这里,我们将着重于介绍将它部署于应用程序和环境中的最佳实践。这包括应该存储或不应存储哪些、如何处理数据的灵活分布以 及如何调节用来更新 memcached 和所存储数据的方法。所有的应用程序,特别是很多 web 应用程序都需要优化它们访问客户机和将信息返回至客户机的速度。可是,通常,返回的都是相同的信息。从数据源(数据库或文件系统)加载数据十分低效,若是每次想要访问该信息时都运行相同的查询,就尤显低效。要是能从内存中直接加载这些信息,可想而知速度会快多少倍。

虽然很多 web 服务器都可被配置成使用缓存发回信息,但那与大多数应用程序的动态特性无法相适。而这正是 memcached 的用武之地。它提供了一个通用的内存存储器,可保存任何东西,包括本地语言的对象,这就让您可以存储各种各样的信息并可以从诸多的应用程序和环境访问这些 信息。

memcached存储的是key/value的键值对,但是值必须是可序列化的对象(这里我说的java),还可以是json,xml,html等,这里要说明memcached集群,server端之间并不会进行相互的通信,通信完全由你的客户端来完成,你只需在客户端规定好你的key值,然后set进行,此时会有一个散列算法,来决定你key会存放在哪台server上。

最后要注意一点,memcached主要使用于存储实时性要求不是很高的信息。

2、使用memcached的场景

想象有这么一个场景,一个电子商务网站,在网站的左侧会是商品的分类,中间是商品搜索结果的列表,可以查看商品信息和商家的基本信息和相关商家的信誉度信息。

在这个场景下,因为一个商场的类别不会经常改变的。实时性不是很高,这样应该放到缓存中取的。

一般时候做法:

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

在使用 memcached做法:

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

第二次显示的判断memcached缓存中是否有该分类----有--->>-从memcached中取出数据-------->>进入处理数据------->>显示到页面

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

但是要是数据中的数据改变怎么来更新memcached中的数据呢

过程为:更新数据库中分类的信息------->找到memcached中key值,删除------>重新插入到你的memcached中就可以了

memcached 内的存储操作是原子的,所以信息的更新不会让客户机只获得部分数据;它们获得的或者是老版本,或者是新版本。

3、在使用memcached中key的约定和命名规范

这里给大家做一下总结:

第一种:一般都是公司的项目名称+字符常量+返回PO的id(或者标示都可以)

第二种:可以用spring aop来拦截你要缓存的service,通过类名+方法名+参数名,来做到key值得

第三种:用你的sql语句+id(或者查询条件)

其中第一种比较灵活你可以嵌入到你service的代码中,下面写一段伪代码:

但是是嵌入到你service层,就会破坏你service的业务逻辑,耦合性高,这里我们老大提出了解决方法,就是可以在你service和action中间在加一层来做缓存处理,这样似乎可以降低耦合。

第二种适用于分模块开发 ,因为调用的都是同一个类中的方法,但是拦截器也是回影响性能的,但是开发效率会提高的,还有就是不会破坏你的service的业务逻辑。

第三种 个人觉得不是很好 ,因为sql语句要是很长得话,也是会占用一部分内存的。

客户端语言包括 Java、Perl、PHP 等,都能串行化语言对象以便存储在 memcached 内,大家可以google一下他的客户端来做自己的实验。

4、怎么有规则弹性的使用memcached(多服务器使用)

提一个问题 ,当memcached的服务器宕掉怎么办呢?

这里要说明的一点就是缓存不是你信息的来源,你不能把memcached当做你的数据库来使用,他仅仅是一个缓存,一旦宕掉,信息全无,很是可怕。此时你必须保证能从别的地方加载到你数据(如你的mysql数据库),有人可能会想到,我可以使用多台server,相互复制彼此的信息,一台宕掉 ,其他的还可以接着使用,我觉得这样的想法是很糟糕的,假设你使用了三台server 都是1g的内存,你们把信息复制到这三台上,但是你仔细想想,实际上你只拥有1g的内存可用,而你却浪费了2台server ,这似乎代价很大。

此时你可以这样解决 ,还是有3台server ,但是这三台server不会拥有相同的信息 ,也就是不会复制信息到对方的server上去,其中一台宕掉的时候,当你在次加载信息的时候,会从数据库查询,而这个信息会存储在其他两台中的任意一台server上,这样使用的好处为:同样式三台server,但是你却不像第一种那样,只拥有1g的可用内存,你现在而是3g可用,何乐而不为呢大笑,只是宕掉的时候多查一次库而已,后面还是会从缓存中获取。

5、总结

到这里我想你对memcached也有了些了解,

记住memcached不是一个数据库,他只是内存,

不是信息的来源,来辅助数据库操作的,来提升信息的查询速度。

在开发中怎么样规定key,这点很重要,方便以后进行维护。

以及多台server的使用中怎么才能更有效的利用你的RAM。

除非特别注明,鸡啄米文章均为原创

转载请标明本文地址:



总结:本文主要是解答【成都电脑编程培训班】南充清大软舰设计师培训学校【0817-2694333】★★零基础小班教学,学会为止专注于Java培训、大数据开发培训、Python人工智能培训、安卓开发培训、室内设计培训、UI设计培训等。南充电脑培训,南充电脑学校,南充电脑培训学校,南充电脑培训班,南充计算机培训,南充计算机学校,南充计算机培训学校,南充电脑短期培训班,南充会计培训,南充会计学校,南充会计培训学校10余年专业培训,双校区,教学设备一流,师资强大,技能+学历模式,0基础0首付,项目实战+带薪实训。

文章相关标签:信息mehe

说明:(www.qdrj1999.com)清大软舰-西南IT培训知名教育品牌[清大软舰教育-清华北大精英创立]南充清大软舰计算机IT培训_南充电脑培训学校_南充清大软舰电脑培训_南充IT培训_南充清大软舰IT培训南充电脑培训班哪家好?多少钱?清大软舰IT培训,清大软舰设计师培训,南充电脑培训,南充电脑学校,南充电脑培训学校,南充电脑培训班,南充计算机培训,南充计算机学校,南充计算机培训学校,南充电脑短期培训班,南充会计培训,南充会计学校,南充会计培训学校,南充会计培训班,南充会计证培训,南充会计培训机构,南充会计培训中心,南充室内设计培训,南充室内设计培训班,南充室内设计培训机构,南充室内设计培训学校,南充平面设计培训,南充平面设计培训班,南充平面设计培训机构,南充平面设计培训学校,南充网页设计培训,清大软舰,南充清大软舰,南充清大软舰教育,清大软舰教育培训中心,清大软舰电脑学院,清大软舰电脑学校,清大软舰JAVA培训,清大软舰设计培训,清大软舰平面设计培训,清大软舰室内设计培训,南充网页培训,南充Photoshop培训,南充CorelDRAW培训,南充CAD培训,南充3DMAX培训,南充IT教育,南充软件工程师培训,南充软件开发培训,南充java培训,南充.NET培训,南充网络营销培训,南充UI设计培训,南充android培训,南充安卓培训,南充IOS培训,南充百度营销培训,南充电商培训, 南充电脑培训哪家好?南充电脑培训班多少钱? 南充计算机培训哪家好?南充计算机培训班多少钱? 南充平面设计师培训哪家好?南充平面设计师培训班多少钱? 南充PS培训哪家好?南充PS培训班多少钱? 南充CAD培训哪家好?南充CAD培训班多少钱? 南充室内设计师培训哪家好?南充室内设计师培训班多少钱? 南充网页设计师培训哪家好?南充网页设计师培训班多少钱? 南充UI设计师培训哪家好?南充UI设计师培训班多少钱? 南充软件开发工程师培训哪家好?南充软件开发工程师培训班多少钱? 南充JAVA软件开发工程师培训哪家好?南充JAVA软件开发工程师培训班多少钱? 南充电商培训哪家好?南充电子商务培训班多少钱? 详情请咨询客服!

联系电话:147-8171-7777(微信同号),180-8035-3433(微信同号),173-8367-1520(微信同号),173-8367-5520(微信同号),173-8367-7520(微信同号)

转载注明出处:/news/3033.html

相关文章:

微信扫一扫加好友
点击加为好友
顺庆校区:(五星花园)仪凤街63号2F(国美电器旁)
电话:18784716768
高坪校区:(鹤鸣花园)万美广场B座15楼(吉麦润超市楼上)
电话:14781717777
如果您有什么问题,请点击此处进行即时沟通;
南充会计培训 南充电脑培训 南充设计培训 南充室内设计培训 南充会计培训 南充会计培训 南充电脑培训 南充电脑培训 南充设计培训 南充设计培训 南充室内设计培训 南充室内设计培训