zoukankan      html  css  js  c++  java
  • Redis笔记-阿里推荐Redis使用规范

    key名设计:

    规范化,以数据库名为前缀,防止key冲突,用冒号分隔,如下:(数据库名:表名:ID)
    tlz:order:1
    简洁性,保证语义的前提下,控制key的长度,应该使用简写
    不要包含特殊字符,不要包含空格、换行、单双引号以及其他符号

    value设计:

    拒绝bigkey,防止慢查询,string类型控制在10k以内,hash、lish、set、zset元素个数不要超过5000

    控制key的声明周期:

    建议使用expire设置过期时间,尽量打散过期时间,不要集中过期

    禁用命令:

    禁止线上使用keys、flushall、flushdb等,通过redis的rename机制禁掉命令,或者使用scan的方式渐进式处理。因为redis是单线程执行,容易导致线上不可用.
    scan命令是通过游标分步进行,不会阻塞线程,提供count参数,不是结果数量,是Redis单次遍历字典数量,同keys一样也提供模式匹配功能。
    scan 0 match user_token* count 5 #从0开始遍历,返回新游标,下次查询从新游标开始遍历

    合理使用select:

    redis的多数据库较弱,使用数字进行区分,很多客户端支持较差,同时多业务用多数据库实际还是单线程处理,会有干扰

    尽量使用批量操作提高效率:

    原生命令:例如mget、mset;非原生命令:可以使用pipeline提高效率。
    但要注意控制一次批量操作的元素个数(例如500以内,实际也和元素字节数有关)。

    转:https://www.toutiao.com/i6814267058407080460/

  • 相关阅读:
    树形地铁系统[树的最小表示]
    156. 矩阵[二维的hash]
    兔子与兔子
    滑动窗口【单调队列入门题】
    【YBTOJ】生日相同
    【YBTOJ】移位包含
    【YBTOJ】【HDUOJ 3085】逃离噩梦
    【YBTOJ】立体推箱子
    【CodeForces 1408F】Two Different
    【Luogu P3338】[ZJOI2014]力
  • 原文地址:https://www.cnblogs.com/fanfan-90/p/13275642.html
Copyright © 2011-2022 走看看