All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gomcarter.frameworks.redis.annotation.Cache Maven / Gradle / Ivy

There is a newer version: 2.0.8
Show newest version
package com.gomcarter.frameworks.redis.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author gomcarter on 2019-09-05 16:00:46
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Cache {
    /**
     * 缓存到redis中的key
     *
     * @return key
     */
    String value() default "";

    /**
     * 缓存过期时间,默认5分钟:   60 * 5 = 300
     * 

* 小于0表示永久 * * @return time */ long time() default 0x12C; /** * 将方法的参数并入到key中(参数将作toString处理,为null则是null字符串) * argsIndex为方法本身参数的索引,如argsIndex={0,2}及取方法的第1个和第3个参数拼接到key中。 * 如果不需要参数拼接到key中,则忽略此参数即可 * * @return argsIndex */ int[] argsIndex() default {}; /** * 是否缓存空数据 * * @return nullable */ boolean nullable() default true; /** *

* 如果前面已经存在一个线程在调用此方法,当前线程是否等待,单位:毫秒; *

* 为了线程阻塞严重,使用short类型,所以最大等待时间为32秒左右 *

*

* 小于0等于0:不等待(直接返回服务器繁忙); *

* 大于0:表示最大等待时间(默认10s) *

* * @return await */ short await() default 10000; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy