zoukankan      html  css  js  c++  java
  • redis批量删除踩的坑

    最近在测试任务的时候,把reids的key和value写反了,导致生产环境的reids凭空多了200多万脏数据,在网上查了一个批量删除的命令,直接在生产环境执行了,导致redis宕机、OOM了

    所以,以后再操作生产环境数据库,特别是删除、大规模数据遍历、消耗性能比较大的情况下,在网上查的命令最好还是在测试环境测试一下再用,多么痛的领悟

    这里记录一下两个命令:

    错误的命令

    在数据量较大的情况下,千万别用类似keys *的操作,keys会把reids里所有的key一口气都遍历一遍,消耗性能奇高。。

    redis-cli -h ${ip} -p 6379 -n 4 -a '${pws}' keys '0^!*' |xargs redis-cli -h ${ip} -p 6379 -n 4 -a '${psw}' DEL
    

    正确的命令:

    在生产环境下,尽量使用scan

    redis-cli -h ${ip} -p 6379 -n 4 -a '${psw}' --scan --pattern "0^!*" | xargs -L 1000 redis-cli -h ${ip} -p 6379 -n 4 -a '${psw}' del
    

    具体可以参考:
    https://zhuanlan.zhihu.com/p/102092251

  • 相关阅读:
    vue导出Excel表格(纯前端)
    Ubuntu16.04+CUDA8.0+CUNN5.1+caffe+tensorflow+Theano
    python高级特性
    顺序容器
    感知机和支持向量机
    IO库
    字符串、向量、数组、迭代器

    c++函数
    C++语句
  • 原文地址:https://www.cnblogs.com/goldenSky/p/13856652.html
Copyright © 2011-2022 走看看