Redis中key的設計與管理(利用枚舉)


一、redis 中 key 設計原則

唯一、可讀、靈活、失效

  • 唯一,比如注冊驗證碼,需要加上 register_verify_code 作為唯一標識
  • 可讀,見名知意
  • 靈活,比如攻略文章點贊的設計,可以帶上用戶id,攻略文章id,strategy_thumbsupnum_vo:uid:sid
  • 失效,緩存用完應該清理

二、枚舉redis key 管理類

約定:一個枚舉實例,對應着一個 redis 的 key

枚舉核心特點

  • 枚舉類構造器是私有的

  • 枚舉類定義完成,它的實例個數固定

  • 其他操作跟普通類差不多

demo

@Getter
public enum RedisKey {

    REGISTER_VERIFY_CODE("register_verify_code:", Consts.VERIFY_CODE_VAI_TIME*60L); // 驗證碼

    private String prefix; // key前綴
    private Long time; // redis 存活時間

    RedisKey(String prefix, Long time) {
        this.prefix = prefix;
        this.time = time;
    }

    //拼接出完整redis的key
    public String join(String... values){
        StringBuilder sb = new StringBuilder(80);
        sb.append(this.prefix);
        for (String value : values) {
            sb.append(":").append(value);
        }
        return sb.toString();
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM