前端给的参数数据库不用存储会存在redis吗

前端给的参数数据库不用存储会存在redis吗,第1张

1redis只是缓存,不是数据库如mysql,所以redis中有的数据库,mysql中一定有。

2用户请求先去请求redis,如果没有,再去数据库中去读取。

3redis中缓存一些请求量比较大的数据(这些缓存数据,mysql中一定也是有的),没必要所有数据都缓存到redis中。

5之所以从缓存中拿数据会快,是因为缓存的数据存在于内存中,不像mysql的数据是存在磁盘上的,即不用经过从磁盘加载到内存这个过程(这个过程是非常耗时和低效的),直接从内存获取数据。

6当redis缓存崩溃的时候,那么不是海量的请求都去访问数据库了?数据库能抗住吗?

1)收下要分析,当成千亿个请求同时访问过来,数据库为什么会扛不住?

①超大量的并发,数据库扛不住。

举个例子就明白了。

10000万个plsql客户端,同时访问Oracle进行数据库查询、写入等 *** 作,数据库肯定吃不消。

参考:>

update之后,写MySql,再写入Redis,替旧数据(可在MySql端定义CRUD触发器,触发后写数据到Redis,也可Redis端解析binlog)

设定超时时间,redis自动删除数据。第二次删除前最好休眠时间,比如500毫秒,又增加写耗时。

一、Redis不会自己同步变更,要告诉。机制(不仅限于):

1 Redis过期去DB取,不立刻更新,顺带重新set redis(称作“Cache Aside”)。不一致时间可设置有效期,如10min。没设置不灵。

2 通过代码更新DB。然后马上del掉redis数据。下次取数据时,恢复上一条方式。Cache Aside变体。好处一致性比较好,一般情况,不一致时间1s以下,绝大部分足够。极少不一致

Cache Aside,“Cache”在DB访问的主流程上帮个忙

1和2的做法常规上被称为“Cache“。而且因为1有更新不及时的问题,2有极端情况下数据会不一致的问题,所以常规Cache代码会把1+2组合起来,要求Redis里的数据必须有过期时间,并且不能太长,这样即便是不一致也能混过去。同时如果是主动对数据进行更新,Cache的数据更新也会比较及时。

并且2并不一定总是行得通。比如OLTP的服务在前面是Cache+DB的模式,而数据是由后台管理系统来更新的,总是不会触碰OLTP服务,更不会动Cache。这时将Redis看作是存储也算是一种方案

以上就是关于前端给的参数数据库不用存储会存在redis吗全部的内容,包括:前端给的参数数据库不用存储会存在redis吗、web应用如何配置连接容器上的redis和数据库、redis同步到数据库多长时间间隔等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9742472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存