功能
依赖引用
maven
<dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-redis</artifactId> <version>${version}</version> </dependency>
|
gradle
compile("net.dreamlu:mica-redis:${version}")
|
使用说明
1. redis cache 增强
- 支持 # 号分隔 cachename 和 超时,支持 ms(毫秒),s(秒默认),m(分),h(小时),d(天)等单位。
示例:
@Cacheable(value = "user#5m", key = "#id") public String selectById(Serializable id) { log.info("selectById"); return "selectById:" + id; }
|
MicaRedisCache
MicaRedisCache 为简化 redis 使用的 bean。
@Autowired private MicaRedisCache redisCache;
@Override public String findById(Serializable id) { return redisCache.get("user:" + id, () -> userMapper.selectById(id)); }
|
2. 分布式限流
2.1 开启限流组件
mica: redis: rate-limiter: enable: true
|
2.2 使用注解
注解变量:
String value();
String param() default "";
long max() default 2500L;
long ttl() default 3600L;
TimeUnit timeUnit() default TimeUnit.SECONDS;
|
2.3 使用 Client
@Autowired private RateLimiterClient rateLimiterClient;
|
方法:
boolean isAllowed(String key, long max, long ttl);
boolean isAllowed(String key, long max, long ttl, TimeUnit timeUnit);
<T> T allow(String key, long max, long ttl, CheckedSupplier<T> supplier);
<T> T allow(String key, long max, long ttl, TimeUnit timeUnit, CheckedSupplier<T> supplier);
|
微信 vs 公众号

精彩内容每日推荐!!!