福彩内蒙古时时彩开奖结果 内蒙古时时彩单式上传 内蒙古时时彩结果查询 内蒙古时时彩软件 内蒙古时时彩500走势图 内蒙古时时彩五码走势怎么看 内蒙古时时彩直播开奖 内蒙古时时彩计划软件 内蒙古时时彩五星图 内蒙古时时彩预测最准 内蒙古时时彩三星玩法 彩票内蒙古时时彩 内蒙古时时彩怎么兑奖 内蒙古时时彩软件手机版 内蒙古时时彩现场直播开奖记录 内蒙古时时彩彩票控 内蒙古时时彩快三开奖 内蒙古时时彩计划软件 彩票内蒙古时时彩 内蒙古时时彩最快开奖 福彩内蒙古时时彩 内蒙古时时彩走势图彩经 内蒙古时时彩历史开奖号码查询 内蒙古时时彩5个号走势 内蒙古时时彩wifi 内蒙古时时彩单式 内蒙古时时彩开奖现场报码 内蒙古时时彩五星走势图 内蒙古时时彩最新开奖结果查询 内蒙古时时彩奖金 内蒙古时时彩计划软件手机版 360彩票内蒙古时时彩 内蒙古时时彩软件手机版 内蒙古时时彩11选5开奖结果 内蒙古时时彩最新开奖号码 内蒙古时时彩走势图彩 内蒙古时时彩11走势图 内蒙古时时彩玩法说明 内蒙古时时彩现场直播 内蒙古时时彩官网平台 内蒙古时时彩玩法规则 内蒙古时时彩平台网址 内蒙古时时彩中奖规则 内蒙古时时彩走势图彩经 内蒙古时时彩奖金对 内蒙古时时彩形态走 内蒙古时时彩奖金 内蒙古时时彩历史开奖记录查询 内蒙古时时彩稳赚 今日内蒙古时时彩

IT职业教育

华中地区北大青鸟校区IT集训营

027-87807717

北大青鸟首页 > 北大青鸟课程 > 前端开发 > > 北大青鸟PHP技术:浅谈memcache

北大青鸟PHP技术:浅谈memcache

时间:2018-01-08 15:04 来源:北大青鸟武汉宏鹏鲁广校区作者:任嵋
导读:北大青鸟小编今天给大家分享的是PHP技术系列文章:浅谈memcache

   1.什么是memcache?

  memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著;(缓存神器)

   2.运行机制与特性

  (1)、MemCache中可以保存的item数据量是没有限制的,只要内存足够

  (2)、MemCache单进程在32位机中极大使用内存为2G,这个之前的文章提了多次了,64位机则没有限制

  (3)、Key极大为250个字节,超过该长?#20219;?#27861;存储

  (4)、单个item极大数据是1MB,超过1MB的数据不予存储

  (5)、MemCache服务端是不安全的,比如已知某个MemCache节点,可以直接telnet过去,并通过flush_all让已经存在的键值对立即失效

  (6)、不能够遍历MemCache中所有的item,因为这个操作的速度相对缓慢?#19968;?#38459;塞其他的操作

  (7)、MemCache的高性能源自于两阶段哈希结构:第—阶段在客户端,通过Hash算法根据Key值算出一个节点;第二阶段在服务端,通过一个内部的Hash算法,查找真正的item并返回给客户端。从实现的角度看,MemCache是一个非阻塞的、基于事件的服务器程序

  (8)、MemCache设置添加某一个Key值的时候,传入expiry为0表示这个Key值永 久有效,但是这个Key值?#19981;?#22312;30天之后失效(是由memcached的核心代码决定的,无法更改)

   3. memcache与redis的区别

  (1)、性能

  都比较高,性能对我们来说应该都不是瓶颈

  总体来讲,TPS方面redis和memcache差不多

  (2)、操作的便利性

  memcache数据结构单一

  redis丰富一些,数据操作方面,redis更好一些,较少的网络IO?#38382;?

  (3)、内存空间的大小和数据量的大小

  redis在2.0版本后增加了自己的VM特性,突破物理内存的限制;可以对key value设置过期时间(类似memcache)

  memcache可以修改极大可用内存,采用LRU算法

  (4)、可用性(单点问题)

  对于单点问题,

  redis,依赖客户端来实现分布式?#21015;?主从复制时,每次从节点重新连接主节点?#23478;?#20381;赖整个快照,无增量复制,因性能和效率问题,

  所以单点问题比较复杂;不支持自动sharding,需要依赖程序设定一致hash 机制。

  一种替代方案是,不用redis本身的复制机制,采用自己做主动复制(多份存储),或者?#26576;?#22686;量复制的方式(需要自己实现),一致性问题和性能的权衡

  Memcache本身没有数据冗余机制,也没必要;对于故?#26174;?#38450;,采用依赖成熟的hash或者环状的算法,解决单点故障引起的抖动问题。

  (5)、可靠性(持?#27809;?

  对于数据持?#27809;?#21644;数据恢复,

  redis支持(快照、AOF):依赖快?#25112;?#34892;持?#27809;琣of增强了可靠性的同时,对性能有所影响

  memcache不支持,通常用在做缓存,提升性能;

  (6)、数据一致性(事务支持)

  Memcache 在并发场景下,用cas保证一致性

  redis事务支持比较弱,只能保证事务中的每个操作连续执行

  7、应用场景

  redis:数据量较小的更性能操作和运算上

  memcache:用于在动态系统中减少数据库负载,提升性能;做缓存,提高性能(适合读多写少,对于数据量比较大,可以采用sharding)

告诉我们,你现在想了解什么?

精?#39318;?#39064;——96%的同学看到这里都会点击下面的专题

  • 关于我们
  • 鲁广校区北大青鸟宏鹏IT学院

    • 北大青鸟(武汉宏鹏)鲁广北校区地址:武汉市洪山区珞瑜路724号地铁二号线光谷广场E出口
      电话:027-87807717
      网址:www.027hpit.com

    • 北大青鸟宏鹏IT学院:武汉市洪山区鲁磨路568号
      电话:027-87808818
      网址:www.accp027.com

    • 北大青鸟(武汉宏鹏)鲁广南校区:武汉市洪山区珞瑜路724号武汉数码港五楼
      电话:027-87807736
      网址:www.whhpit.com

Copyright (c) 2006-2020 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.

内蒙古时时彩开奖现场