团队开发中工具的统一是必要的,方便管理和维护,常用的几种,仅供参考
1.时间工具类
import java.util.concurrent.TimeUnit;
public class CacheTime {
public static final Long ONE_SECONDS = TimeUnit.SECONDS.toSeconds(1L);
public static final Long ONE_MINUTES = TimeUnit.MINUTES.toSeconds(1L);
public static final Long ONE_HOUR = TimeUnit.HOURS.toSeconds(1L);
public static final Long ONE_DAY = TimeUnit.DAYS.toSeconds(1L);
}
2.常量工具类
public class RedisPrefix {
public static final String CARD = "card_key";
}
3.缓存前缀工具类
public class CardRedisCacheKey extends RedisCacheKey {
@Override
protected String getPrefix() {
return RedisPrefix.CARD;
}
//查询记录
public String getRecord(String pin, Long actId) {
return super.buildKey("getRecord", pin, actId);
}
}
抽象类
public abstract class RedisCacheKey extends AbstractRedisCacheKey {
public static CardRedisCacheKey purchaseCard() {
return new CardRedisCacheKey();
}
}
import com.google.common.base.Joiner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public abstract class AbstractRedisCacheKey {
abstract protected String getPrefix();
String buildKey(Object... keys) {
if (keys == null) {
return null;
}
List<Object> keyList = new ArrayList<>();
keyList.add(getPrefix());
keyList.addAll(Arrays.asList(keys));
return Joiner.on(":").join(keyList);
}
}