当前位置:Gxlcms > 数据库问题 > 二、NOSQL之Memcached缓存服务实战精讲第一部

二、NOSQL之Memcached缓存服务实战精讲第一部

时间:2021-07-01 10:21:17 帮助过:29人阅读

1.Memcached是一套数据缓存系统或软件。

       用于在动态应用系统中缓存数据库的数据,减少数据库的访问压力,达到提升网站系统性能的目的;Memcached在企业应用场景中一般是用来作为数据库的cache服务使用;(但不是专门干这个,还可以干别的,主要是干这个,知道就好)

  技术图片

 

 1)linux有特性,系统内存没有用完,利用这些内存就会缓存起来,所以剩余的内存为881

 2)cache读缓存,磁盘数据读到缓存中;buffers写缓存,将数据写到缓存中,等到一定量的时候就写入磁盘中。

3)buffers同步到磁盘中,缓冲区的数据写入磁盘命令:sync,关机前多写几次

       Memcached是通过预分配指定的内存空间来存取数据的,因此它比mysql这样数据库直接操作磁盘要快很多,可以提供比直接读取数据库更好的性能;还可作为集群节点session共享(会话保持)。

       一般动态服务并发都不是很好,比如:.net 、java等。所以对于集群架构,数据库和存储都是容易出现瓶颈的。对于数据库就可以用memcache;对于存储可以是nginx。

软件 作用 缓存的数据
memcached,redis 后端数据库的缓存   动态的数据,例如:博文、bbs帖子
squid,nginx,varnish 前端web应用的缓存     静态数据缓存,例如图片、附件、js,css,html等

      一般前端的CDN就是分布式缓存系统,同时节省网络带宽,

      对于无论是memcached后端还是nginx等前端的缓存,如果我们做了修改,就会修改对应的存储或者数据库,但是我们访问的时候还是访问的缓存数据,这里就有一个数据一致性的问题。所以

     1)对于后端memcached服务,在更新数据库的同时发送一个指标告知memcached数据过期了

    2)一般存储类的图片等是不经常换的,如果有数据更新,都是起另外的别名进行操作即可。

   memcached和redis的区别:

    memcached是纯内存软件,重启就会丢失;redis是持久化软件,不仅存在内存中,而且也会存储到磁盘中。memcache是整个项目的名称。memcached是服务器端的主程序名。

    

二、NOSQL之Memcached缓存服务实战精讲第一部

标签:code   而且   varnish   场景   修改   更新   bsp   memcached   写入   

人气教程排行