×

ehcache和redis的区别 程序 s

ehcache和redis的区别(有些程序员一直坚持反对使用redis怎么办)

admin admin 发表于2023-09-12 11:54:37 浏览49 评论0

抢沙发发表评论

本文目录

有些程序员一直坚持反对使用redis怎么办

分享大佬的回答,似乎很有道理。

不要告诉我们用不用redis,你得告诉我们你为什么想要用redis,不用redis业务会有什么问题?天下没有免费的午餐,不动脑子直接上缓存/NOSQL可能会带来更多更严重的问题。

单一数据库最大的好处在于事务性实现简单,由数据库自己保证。举个简单的例子,下订单需要扣除一个库存,然后插入一条订单条目,如果库存和订单都是数据库表项的话这个事务是无懈可击的,如果库存在redis里,订单条目是MySQL,通常就需要先写redis,成功之后再写数据库,如果写数据库失败了还需要回滚redis,如果最后这个回滚因为网络之类的原因失败了,就会多扣一个库存。不要以为这些事情很好解决,事务性处理的复杂性远远超过你的想象,比如说还有写MySQL在提交的一瞬间连接断了这种情况,你都没法判断提交到底成功了还是失败了,那你的redis是回滚还是不回滚?

所以引入新的层一定要说清楚,你为了什么目的一定要用缓存/NOSQL,能接受什么样的一致性模型,否则就是在胡闹。

达到物理网卡上限,突然几十万的请求访问Redis的某个key如何解决

手上4T的Redis实例群,突发请求峰值50万ops,由于大量采用mget,实际上每秒请求数百万个key。

万兆网络,物理网卡根本不是瓶颈,CPU也不是,糟糕的设计很容易出现瓶颈。

使用上主要以kv为主,少量使用和list还有set