redis之keys使用陷阱

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaozhirongfree1111/article/details/84983214

众所周知,redis是单线程的数据库,相信很多童鞋会提出疑问,为什么单线程的,它的性能还是很高的呢,其实有两点

  1. 内存操作
  2. io多路复用

这里只是抛砖引玉,说两个干货,具体的还请各位童鞋自行查看。今天我要说的就是keys这个命令的使用陷阱,作为程序员,我相信大家都知道对数据库的操作是很危险和很致命的。需要时刻保证警惕,前不久的“2018年9月19号顺丰发生了一起线上删库”的事情相信大家都有所耳闻,感兴趣的可以去看看度娘。

好了,废话少说,我再这里着重讲一下keys,因为keys的操作会导致数据库暂时被锁住,其他的请求都会被堵塞,对于业务体量比较小的,当时无关痛痒,但是当业务量达到百万千万级别的时候,这个会造成数据库崩溃,接连导致其他的业务崩溃。尤其是:

keys *

所以,切记线上不要使用keys *命令,如果要实现类似的功能,可以采用scan命令代替。

展开阅读全文

没有更多推荐了,返回首页