memcached 缓存数据库应用实践

1.1 数据库对比

缓存:将数据存储到内存中,只有当磁盘胜任不了的时候,才会启用缓存

缺点:断电数据丢失(双电),用缓存存储数据的目的只是为了应付大并发的业务。

数据库:mysql(关系型数据库,能够保证数据一致性,保证数据不丢失,当因为功能太多,导致性能不高) ===数据参考

缓存数据库:memcache redis(非关系型数据库,性能极高,但不保证数据完整性) === 业务的数据提供者

memcachedb 会将内存的数据写入到磁盘中

redis 主要工作场所是内存中,但是定期备份内存数据到硬盘

1.1.1 数据库的选择

数据存储,数据仓库选择mysql这种磁盘的数据库

高并发,业务大的应用选择memcache这种内存数据库

1.1.2 数据库分类

关系型数据库  mysql

非关系型数据库(NOSQL) memcached redis MongoDB

1.2 memcached介绍

Memcached是一款开源的、高性能的纯内存缓存服务软件。Mem是内存的意思,cache是缓存的意思,d是daemon的意思。

memcache 是项目名称,也是一款软件,其架构是C/S架构

memcached官网:http://memcached.org/

1.2.1 memcache优点

①   对于用户来讲,用户访问网站更快了,体验更好了。

②对网站来说,数据库压力降低了。只有当内存没有数据时才会去请求数据库。第一次写入的数据也会请求数据库。一般公司没有预热,只有当用户读取过数据库才会放到Memcached中。

②   提升了网站的并发访问,减少服务器数量。

1.3 Memcached在企业中使用场景

1.3.1 作为数据库的前端缓存应用

当数据库(mysql)承受不了大并发的请求时,可以将数据缓存到内存中(缓存数据库),然后就可以解决

作为数据库的前端缓存最大目的:减少数据库被大量访问的压力

1.3.2 作为集群后端的session会话保持

session存储在文件,数据库,memcache,或内存等的服务端上,

    原文作者:创新科技宝典
    原文地址: https://www.jianshu.com/p/ce6070a9a024
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞