package com.jarvis.cache.to; import java.io.Serializable; import lombok.Data; /** * 缓存Key * @author jiayu.qiu */ @Data public final class CacheKeyTO implements Serializable { private static final long serialVersionUID=7229320497442357252L; private final String namespace; private final String key;// 缓存Key private final String hfield;// 设置哈希表中的字段,如果设置此项,则用哈希表进行存储 public CacheKeyTO(String namespace, String key, String hfield) { this.namespace=namespace; this.key=key; this.hfield=hfield; } public String getCacheKey() { if(null != this.namespace && this.namespace.length() > 0) { return new StringBuilder(this.namespace).append(":").append(this.key).toString(); } return this.key; } public String getLockKey() { StringBuilder key=new StringBuilder(getCacheKey()); if(null != hfield && hfield.length() > 0) { key.append(":").append(hfield); } key.append(":lock"); return key.toString(); } }