redis key前缀的设计:
模板方法
具体类 实现 抽象类 -->实现接口
public interface KeyPrefix {
public int expireSeconds();
public String getPrefix();
}
抽象类BasePrefix实现KeyPrefix
public int expireSeconds() {//默认0代表永不过期
return expireSeconds;
}
public String getPrefix() {
String className = getClass().getSimpleName();
return className + ":" + prefix;
}
各个模块的类比如User
UserKey 继承 BasePrefix
public static UserKey getById = new UserKey("id");