模块 org.redkale

类 CachedManagerService

    • 构造器详细资料

    • 方法详细资料

      • enabled

        public boolean enabled()
      • init

        public void init​(AnyValue conf)
        从接口复制的说明: Service
        该方法必须是可以重复调用, 当reload时需要重复调用init方法 远程模式下该方法会重载成空方法
        指定者:
        init 在接口中 Service
        参数:
        conf - 配置参数
      • checkSchema

        protected String checkSchema​(String value)
        检查schema是否含特殊字符
        参数:
        value - 参数
        返回:
        value
      • destroy

        public void destroy​(AnyValue conf)
        从接口复制的说明: Service
        进程退出时,调用Service销毁 远程模式下该方法会重载成空方法 注意: 在此方法内不能调用MessageClient.sendMessage 方法,因为Application关闭时会先destroy掉MessageClient
        指定者:
        destroy 在接口中 Service
        参数:
        conf - 配置参数
      • setSchema

        public void setSchema​(String schema)
      • isEnabled

        public boolean isEnabled()
      • updateBroadcastable

        public void updateBroadcastable​(boolean broadcastable)
      • localGet

        public <T> T localGet​(String name,
                              String key,
                              Type type)
        本地获取缓存数据, 过期返回null
        指定者:
        localGet 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        返回:
        数据值
      • localGetSet

        public <T> T localGetSet​(String name,
                                 String key,
                                 Type type,
                                 boolean nullable,
                                 int localLimit,
                                 Duration expire,
                                 ThrowSupplier<T> supplier)
        本地获取缓存数据, 过期返回null
        指定者:
        localGetSet 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        nullable - 是否缓存null值
        localLimit - 本地缓存数量上限
        expire - 过期时长,Duration.ZERO为永不过期
        supplier - 数据函数
        返回:
        数据值
      • localGetSetAsync

        public <T> CompletableFuture<T> localGetSetAsync​(String name,
                                                         String key,
                                                         Type type,
                                                         boolean nullable,
                                                         int localLimit,
                                                         Duration expire,
                                                         ThrowSupplier<CompletableFuture<T>> supplier)
        本地异步获取缓存数据, 过期返回null
        指定者:
        localGetSetAsync 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        nullable - 是否缓存null值
        localLimit - 本地缓存数量上限
        expire - 过期时长,Duration.ZERO为永不过期
        supplier - 数据函数
        返回:
        数据值
      • localSet

        public <T> void localSet​(String name,
                                 String key,
                                 int localLimit,
                                 Type type,
                                 T value,
                                 Duration expire)
        本地缓存数据
        指定者:
        localSet 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键 *
        localLimit - 本地缓存数量上限
        type - 数据类型
        value - 数据值
        expire - 过期时长,Duration.ZERO为永不过期
      • localDel

        public long localDel​(String name,
                             String key)
        本地删除缓存数据
        指定者:
        localDel 在接口中 CachedManager
        参数:
        name - 缓存名称
        key - 缓存键
        返回:
        删除数量
      • remoteGet

        public <T> T remoteGet​(String name,
                               String key,
                               Type type)
        远程获取缓存数据, 过期返回null
        指定者:
        remoteGet 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        返回:
        数据值
      • remoteGetAsync

        public <T> CompletableFuture<T> remoteGetAsync​(String name,
                                                       String key,
                                                       Type type)
        远程异步获取缓存数据, 过期返回null
        指定者:
        remoteGetAsync 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        返回:
        数据值
      • remoteGetSet

        public <T> T remoteGetSet​(String name,
                                  String key,
                                  Type type,
                                  boolean nullable,
                                  Duration expire,
                                  ThrowSupplier<T> supplier)
        远程获取缓存数据, 过期返回null
        指定者:
        remoteGetSet 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        nullable - 是否缓存null值
        expire - 过期时长,Duration.ZERO为永不过期
        supplier - 数据函数
        返回:
        数据值
      • remoteGetSetAsync

        public <T> CompletableFuture<T> remoteGetSetAsync​(String name,
                                                          String key,
                                                          Type type,
                                                          boolean nullable,
                                                          Duration expire,
                                                          ThrowSupplier<CompletableFuture<T>> supplier)
        远程异步获取缓存数据, 过期返回null
        指定者:
        remoteGetSetAsync 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        nullable - 是否缓存null值
        expire - 过期时长,Duration.ZERO为永不过期
        supplier - 数据函数
        返回:
        数据值
      • remoteSet

        public <T> void remoteSet​(String name,
                                  String key,
                                  Type type,
                                  T value,
                                  Duration expire)
        远程缓存数据
        指定者:
        remoteSet 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        value - 数据值
        expire - 过期时长,Duration.ZERO为永不过期
      • remoteSetAsync

        public <T> CompletableFuture<Void> remoteSetAsync​(String name,
                                                          String key,
                                                          Type type,
                                                          T value,
                                                          Duration expire)
        远程异步缓存数据
        指定者:
        remoteSetAsync 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        value - 数据值
        expire - 过期时长,Duration.ZERO为永不过期
        返回:
        void
      • remoteDel

        public long remoteDel​(String name,
                              String key)
        远程删除缓存数据
        指定者:
        remoteDel 在接口中 CachedManager
        参数:
        name - 缓存名称
        key - 缓存键
        返回:
        删除数量
      • bothGet

        public <T> T bothGet​(String name,
                             String key,
                             Type type)
        远程获取缓存数据, 过期返回null
        指定者:
        bothGet 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        返回:
        数据值
      • bothGetAsync

        public <T> CompletableFuture<T> bothGetAsync​(String name,
                                                     String key,
                                                     Type type)
        远程异步获取缓存数据, 过期返回null
        指定者:
        bothGetAsync 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        返回:
        数据值
      • bothGetSet

        public <T> T bothGetSet​(String name,
                                String key,
                                Type type,
                                boolean nullable,
                                int localLimit,
                                Duration localExpire,
                                Duration remoteExpire,
                                ThrowSupplier<T> supplier)
        远程获取缓存数据, 过期返回null
        指定者:
        bothGetSet 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        nullable - 是否缓存null值
        localLimit - 本地缓存数量上限
        localExpire - 本地过期时长,Duration.ZERO为永不过期,为null表示不本地缓存
        remoteExpire - 远程过期时长,Duration.ZERO为永不过期,为null表示不远程缓存
        supplier - 数据函数
        返回:
        数据值
      • bothGetSetAsync

        public <T> CompletableFuture<T> bothGetSetAsync​(String name,
                                                        String key,
                                                        Type type,
                                                        boolean nullable,
                                                        int localLimit,
                                                        Duration localExpire,
                                                        Duration remoteExpire,
                                                        ThrowSupplier<CompletableFuture<T>> supplier)
        远程异步获取缓存数据, 过期返回null
        指定者:
        bothGetSetAsync 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        nullable - 是否缓存null值
        localLimit - 本地缓存数量上限
        localExpire - 本地过期时长,Duration.ZERO为永不过期,为null表示不本地缓存
        remoteExpire - 远程过期时长,Duration.ZERO为永不过期,为null表示不远程缓存
        supplier - 数据函数
        返回:
        数据值
      • bothSet

        public <T> void bothSet​(String name,
                                String key,
                                Type type,
                                T value,
                                Duration localExpire,
                                Duration remoteExpire)
        远程缓存数据
        指定者:
        bothSet 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        value - 数据值
        localExpire - 本地过期时长,Duration.ZERO为永不过期,为null表示不本地缓存
        remoteExpire - 远程过期时长,Duration.ZERO为永不过期,为null表示不远程缓存
      • bothSetAsync

        public <T> CompletableFuture<Void> bothSetAsync​(String name,
                                                        String key,
                                                        Type type,
                                                        T value,
                                                        Duration localExpire,
                                                        Duration remoteExpire)
        远程异步缓存数据
        指定者:
        bothSetAsync 在接口中 CachedManager
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        value - 数据值
        localExpire - 本地过期时长,Duration.ZERO为永不过期,为null表示不本地缓存
        remoteExpire - 远程过期时长,Duration.ZERO为永不过期,为null表示不远程缓存
        返回:
        void
      • bothDel

        public long bothDel​(String name,
                            String key)
        远程删除缓存数据
        指定者:
        bothDel 在接口中 CachedManager
        参数:
        name - 缓存名称
        key - 缓存键
        返回:
        删除数量
      • getSet

        protected <T> T getSet​(CachedManagerService.GetterFunc<CachedValue<T>> getter,
                               CachedManagerService.SetterSyncFunc setter,
                               String name,
                               String key,
                               Type type,
                               boolean nullable,
                               int localLimit,
                               Duration expire,
                               ThrowSupplier<T> supplier)
        获取缓存数据, 过期返回null
        类型参数:
        T - 泛型
        参数:
        getter - 获取数据函数
        setter - 设置数据函数
        name - 缓存名称
        key - 缓存键
        type - 数据类型
        nullable - 是否缓存null值
        localLimit - 本地缓存数量上限
        expire - 过期时长,Duration.ZERO为永不过期
        supplier - 数据函数
        返回:
        数据值
      • localSetCache

        protected <T> void localSetCache​(String name,
                                         String key,
                                         int localLimit,
                                         Type type,
                                         T value,
                                         Duration expire)
      • remoteSetCache

        protected <T> void remoteSetCache​(String name,
                                          String key,
                                          Type type,
                                          T value,
                                          Duration expire)
      • bothGetCacheAsync

        protected <T> CompletableFuture<CachedValue<T>> bothGetCacheAsync​(String name,
                                                                          String key,
                                                                          int localLimit,
                                                                          Duration expire,
                                                                          Type cacheType)
        远程异步获取缓存数据, 过期返回null
        类型参数:
        T - 泛型
        参数:
        name - 缓存名称
        key - 缓存键
        localLimit - 本地缓存数量上限
        expire - 过期时长,Duration.ZERO为永不过期
        cacheType - 数据类型
        返回:
        数据值
      • checkEnable

        protected void checkEnable()
      • idFor

        protected String idFor​(String name,
                               String key)
        创建一个锁key
        参数:
        name - 缓存名称
        key - 缓存键
        返回:
        key
      • toCacheValue

        protected <T> CachedValue<T> toCacheValue​(boolean nullable,
                                                  T value)
        将原始数据函数转换成获取CacheValue数据函数
        类型参数:
        T - 泛型
        参数:
        nullable - 是否缓存null值
        value - 缓存值
        返回:
        CacheValue函数
      • toCacheSupplier

        protected <T> ThrowSupplier<CachedValue<T>> toCacheSupplier​(boolean nullable,
                                                                    ThrowSupplier<T> supplier)
        将原始数据函数转换成获取CacheValue数据函数
        类型参数:
        T - 泛型
        参数:
        nullable - 是否缓存null值
        supplier - 数据函数
        返回:
        CacheValue函数
      • loadCacheType

        protected Type loadCacheType​(Type type,
                                     Object value)
        创建数据类型创建对应CacheValue泛型
        参数:
        type - 数据类型,为null则取value的类型
        value - 数据值
        返回:
        CacheValue泛型
      • loadCacheType

        protected Type loadCacheType​(Type type)
        创建数据类型创建对应CacheValue泛型
        参数:
        type - 数据类型
        返回:
        CacheValue泛型