redis企业级应用(下)-如何维护redis的key

    在实际项目开发中,我们会有很多的地方会用到redis,当然也会设置很多的key,但是一旦这些key键多起来了难免会造成重复,或者我们自己都不知道那些键是存放什么缓存的。

    因此我们都会给redis的key加上一个前缀;多说无益,还是直接上代码;

    定义一个接口,规范key

    

public interface KeyPrefix {
	public int expirSeconds();//过期时间 0代表永不过期
	public String getPrefix(); //key前缀
} 

写一个抽象方法去实现这个接口
 

public abstract class BasePrefix implements KeyPrefix{
	private int expirSeconds;
	private String prefix;
	
	public BasePrefix(String prefix) {//0代表永不过期
		this(0, prefix);
	}
	
	public BasePrefix(int expirSeconds, String prefix) {
		this.expirSeconds=expirSeconds;
		this.prefix=prefix;
	}
	@Override
	public int expirSeconds() {//默认为0永不过期
		return expirSeconds;
	}
	@Override
	public String getPrefix() {
		String className = getClass().getSimpleName(); 
		return className+":"+prefix; //获取绑定实现类的classname到前缀,保证唯一便于维护管理
	}

}

真正的实现类:

public class UserKey extends BasePrefix{
	public UserKey(String prefix) {
		super(0, prefix);
	}
	public static UserKey getbyId = new UserKey("id");
	public static UserKey getbyName = new UserKey("name");
}

OK这样就能很好的管理我们的key了,至于如何使用,请参考
https://my.oschina.net/moonroot/blog/1813848
 

猜你喜欢

转载自my.oschina.net/moonroot/blog/1813851