2016 - 2024

感恩一路有你

redis五种类型使用场景 有些“上古”程序员一直坚持反对使用redis怎么办?

浏览量:1798 时间:2021-03-13 16:28:40 作者:admin

有些“上古”程序员一直坚持反对使用redis怎么办?

分享大人物的答案似乎合情合理。

不要告诉我们是否使用redis。你必须告诉我们你为什么要使用redis。没有redis的业务怎么了?世界上没有免费的午餐。如果不直接使用头部缓存/NoSQL,可能会带来越来越严重的问题。

单个数据库的最大优点是易于实现事务,并由数据库本身保证。举个简单的例子,要下订单,需要扣除库存并插入订单条目。如果inventory和order都是数据库表条目,那么这个事务是无可挑剔的。如果库存在redis中,订单条目是mysql,通常需要先写redis,成功后再写数据库。如果您写数据库失败,需要回滚redis,如果由于网络或其他原因回滚失败,将再扣减一个存货。不要认为这些事情很容易解决。事务处理的复杂性远远超出您的想象。例如,当您编写mysql时,您在提交时就失去了连接。你无法判断提交是成功还是失败。你的redis是不是在倒退?

因此,当您引入一个新层时,您必须弄清楚您必须使用cache/NoSQL的目的以及您可以接受的一致性模型。否则,你就要出丑了。

redis在什么情况下使用?

俗话说有n个热点数据,都是暂时使用的,要想提高并发速度和吞吐量,可以考虑,比如淘宝的假期销售活动。事先准备好资料,活动结束后无效。

在我看来,有足够的内存,我想使系统非常快。您可以将redis用作数据库。Redis可以永久缓存数据,但数据量小于您可以使用的内存量。较小的项目更合适。我以前做过。

接口级缓存了一定数量的网络请求数据,省去了自己设计的缓存不安全和不完善的麻烦。比如微网站的开发:微信认证串被缓存,用户认证数据。饼干,会议等。我对第二段做了同样的事情。前提是数据量适中,现有机器配置可以5年以上不出问题。

其他人将使用MySQL或Oracle缓存用户查询的数据。我认为小项目不需要。大型项目的功能如下。在一个小项目中,MySQL或Oracle可以将所有表和数据直接加载到内存中。经过数据预热后,访问效率一点也不差。regexp编写的查询可以在秒内从2000W以上的数据中找到。我也做过同样的事。多线程MySQL全部加载到内存中,查询结果合并时间不会超过1秒。在2秒内显示查询结果。

总之,redis不是大项目的专利。你可以在任何你能想到的地方使用它。使用redis的基本出发点是快速和高并发性。

Redis-Redis可以作为一个数据库使用吗?

redis能否成为数据库取决于您的具体需求。

1. 如上所述,redis的持久性存在一个问题。如果总是使用AOF模式和fsync,性能会低于MySQL。如果您喜欢redis方便的数据结构,对性能要求不高,或者对性能要求很高,但允许一定程度的数据丢失,可以使用redis作为数据库。

2. Redis是一个内存数据库。当内存已满时,数据将不会存储在硬盘上(VM不稳定,diskstore未启用)。如果内存足够大,可以使用redis作为数据库。

redis使用前需要先安装吗?

Redis用于读写数据,队列处理器用于定期向MySQL写入数据。同时,要避免冲突。启动redis时,从MySQL中读取所有表键值并存储在redis中。向redis写入数据时,redis主键会自动递增并读取。如果MySQL更新失败,需要及时清除缓存并同步redis主键。这样,redis主要用于实时读写redis,而MySQL数据则通过队列异步处理,减轻MySQL的压力。但该方法的应用场景主要基于高并发,redis的高可用集群架构相对复杂,一般不推荐使用。B类

redis五种类型使用场景 redis基本使用 借呗怎么使用

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。