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,或内存等的服务端上,