• redis深度历险06-key和scan


    redis深度历险06-keys和scan

    keys

    keys *     --获得所有的key
    keys f*    --获得f开头的key
    keys f*f   --获得f开头,f结尾的key
    

    此方法的缺点

    1. 没有分页
    2. 复杂度o(n),造成卡顿

    scan --游标遍历

    1. 复杂度o(n),但是通过游标分布,不会阻塞。
    2. 提供limit参数
    3. 提供模式匹配的方式
    4. 服务器不需要保存游标状态,游标的唯一状态就是scan返回给客户端的游标整数
    5. 返回的结果可能重复,需要客户端去重
    6. 遍历过程中如果数据修改,改动后的数据不一定能遍历到。
    7. 单次返回结果是空并不意味着遍历结束,而要看返回的游标值是否为零
    scan cursor match f* count 100   --会返回cursor游标和结果值。游标用来下一次比遍历,第一次游标用传0
    

    大key扫描

    在平时的业务开发中,尽量避免大key的产生

    原理:scan扫描,得到key,判断key类型,通过size或者len得到大小,排序。Redis官方在redis-cli提供了这样的扫描功能。

    reis-cli -h 127.0.0.1 -p 7001 --bigkeys
    
    如果担心次命令造成ops提升。可以添加休眠参数
    
    redis-cli -h 127.0.0.1 -p 7001 -i 0.1
    
  • 相关阅读:
    vue 页面设置title
    git clone 下载慢 解决方法 码云
    nestjs pm2 启动 静态文件404报错
    Linux释放内存空间
    DBMS_STATS.GATHER_SCHEME_STATS学习
    TPCH测试工具
    Oracle中shrink space命令
    java 测试框架 TestNG
    数据库与linux中quota的作用
    java 测试框架
  • 原文地址:https://www.cnblogs.com/fangyuandoit/p/13713764.html
Copyright © 2020-2023  润新知