package com.iplatform.base.cache; import com.walker.infrastructure.utils.NumberGenerator; import com.walker.support.redis.cache.RedisCacheProvider; /** * 记录菜单缓存更新时间的缓存。 *
 *     1) 由于菜单缓存未使用Redis持久化,导致在集群环境中,无法触发全量更新。
 *     2) 因此采用记录更新时间记录到redis,当用户修改菜单数据后,记录修改时间;
 *     3) 各个节点在调用方法前,检查时间,如果存在新时间则重新加载本地缓存。
 * 
* @author 时克英 * @date 2024-04-09 */ public class RedisMenuUpdateCache extends RedisCacheProvider { public RedisMenuUpdateCache(){ this.setUseRedis(true); this.setLoadPage(false); } @Override public String getProviderName() { return "cache.base.menu_update"; } @Override public Class getProviderType() { return Long.class; } public void triggerTimeUpdate(){ this.putCacheData(KEY_TIME_UPDATE, NumberGenerator.getSequenceNumber()); } public Long getTimeUpdate(){ return this.getCacheData(KEY_TIME_UPDATE); } public static final String KEY_TIME_UPDATE = "time_update"; }