使用redis作为缓存,数据还需要存入数据库中吗? (推荐学习:Redis视频教程)
我的答案是:
redis只是缓存,不是数据库如mysql,所以redis中有的数据库,mysql中一定有。
用户请求先去请求redis,如果没有,再去数据库中去读取。
redis中缓存一些请求量比较大的数据(这些缓存数据,mysql中一定也是有的),没必要所有数据都缓存到redis中。
之所以从缓存中拿数据会快,是因为缓存的数据存在于内存中,不像mysql的数据是存在磁盘上的,即不用经过从磁盘加载到内存这个过程(这个过程是非常耗时和低效的),直接从内存获取数据。
当redis缓存崩溃的时候,那么不是海量的请求都去访问数据库了?数据库能抗住吗?
收下要分析,当成千亿个请求同时访问过来,数据库为什么会扛不住?
①超大量的并发,数据库扛不住。
举个例子就明白了。
10000万个plsql客户端,同时访问Oracle进行数据库查询、写入等操作,数据库肯定吃不消。
从这个角度来说,redis并不能帮什么忙。
②数据库存在低速设备上,每次访问数据库,都要经过io,即从磁盘调入内存的过程。这个才是使用redis等缓存机制的原因。
更多Redis相关技术文章,请访问Redis入门教程栏目进行学习!
Atas ialah kandungan terperinci 数据哪些放redis哪些放数据库. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!