类 ConfigCacheService


  • public class ConfigCacheService
    extends java.lang.Object
    Config service.
    作者:
    Nacos
    • 方法概要

      所有方法 静态方法 具体方法 
      修饰符和类型 方法 说明
      static java.util.List<java.lang.String> checkMd5()
      Check md5.
      static boolean dump​(java.lang.String dataId, java.lang.String group, java.lang.String tenant, java.lang.String content, long lastModifiedTs, java.lang.String type, java.lang.String encryptedDataKey)
      Save config file and update md5 value in cache.
      static boolean dumpBeta​(java.lang.String dataId, java.lang.String group, java.lang.String tenant, java.lang.String content, long lastModifiedTs, java.lang.String betaIps, java.lang.String encryptedDataKey)
      Save config file and update md5 value in cache.
      static boolean dumpChange​(java.lang.String dataId, java.lang.String group, java.lang.String tenant, java.lang.String content, long lastModifiedTs, java.lang.String encryptedDataKey)
      Save config file and update md5 value in cache.
      static boolean dumpTag​(java.lang.String dataId, java.lang.String group, java.lang.String tenant, java.lang.String tag, java.lang.String content, long lastModifiedTs, java.lang.String encryptedDataKey)
      Save config file and update md5 value in cache.
      static java.util.List<java.lang.String> getBetaIps​(java.lang.String groupKey)
      Get and return beta ip list.
      static java.lang.String getContentBetaMd5​(java.lang.String groupKey)
      Get and return beta md5 value from cache.
      static CacheItem getContentCache​(java.lang.String groupKey)
      Get and return content cache.
      static java.lang.String getContentMd5​(java.lang.String groupKey)
      Get and return content md5 value from cache.
      static java.lang.String getContentMd5​(java.lang.String groupKey, java.lang.String ip, java.lang.String tag)  
      static java.lang.String getContentTagMd5​(java.lang.String groupKey, java.lang.String tag)
      Get and return tag md5 value from cache.
      static long getLastModifiedTs​(java.lang.String groupKey)  
      static long getLastModifiedTs4Beta​(java.lang.String groupKey)  
      static long getTagLastModifiedTs​(java.lang.String groupKey, java.lang.String tag)  
      static int groupCount()  
      static boolean hasGroupKey​(java.lang.String groupKey)  
      static boolean isUptodate​(java.lang.String groupKey, java.lang.String md5)  
      static boolean isUptodate​(java.lang.String groupKey, java.lang.String md5, java.lang.String ip, java.lang.String tag)  
      (专用程序包) static CacheItem makeSure​(java.lang.String groupKey, java.lang.String encryptedDataKey, boolean isBeta)  
      static void releaseReadLock​(java.lang.String groupKey)
      Release readLock.
      (专用程序包) static void releaseWriteLock​(java.lang.String groupKey)  
      static void reloadConfig()
      Reload config.
      static boolean remove​(java.lang.String dataId, java.lang.String group, java.lang.String tenant)
      Delete config file, and delete cache.
      static boolean removeBeta​(java.lang.String dataId, java.lang.String group, java.lang.String tenant)
      Delete beta config file, and delete cache.
      static boolean removeTag​(java.lang.String dataId, java.lang.String group, java.lang.String tenant, java.lang.String tag)
      Delete tag config file, and delete cache.
      private static void setEncryptDateKey​(CacheItem cacheItem, java.lang.String encryptedDataKey, boolean isBeta)  
      static int tryReadLock​(java.lang.String groupKey)
      Try to add read lock.
      (专用程序包) static int tryWriteLock​(java.lang.String groupKey)
      Try to add write lock.
      static void updateBetaMd5​(java.lang.String groupKey, java.lang.String md5, java.util.List<java.lang.String> ips4Beta, long lastModifiedTs, java.lang.String encryptedDataKey)
      Update Beta md5 value.
      static void updateMd5​(java.lang.String groupKey, java.lang.String md5, long lastModifiedTs, java.lang.String encryptedDataKey)
      Update md5 value.
      static void updateTagMd5​(java.lang.String groupKey, java.lang.String tag, java.lang.String md5, long lastModifiedTs, java.lang.String encryptedDataKey)
      Update tag md5 value.
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 字段详细资料

      • LOGGER

        static final org.slf4j.Logger LOGGER
      • NO_SPACE_CN

        private static final java.lang.String NO_SPACE_CN
        另请参阅:
        常量字段值
      • NO_SPACE_EN

        private static final java.lang.String NO_SPACE_EN
        另请参阅:
        常量字段值
      • DISK_QUATA_CN

        private static final java.lang.String DISK_QUATA_CN
        另请参阅:
        常量字段值
      • DISK_QUATA_EN

        private static final java.lang.String DISK_QUATA_EN
        另请参阅:
        常量字段值
      • CACHE

        private static final java.util.concurrent.ConcurrentHashMap<java.lang.String,​CacheItem> CACHE
        groupKey -> cacheItem.
    • 构造器详细资料

      • ConfigCacheService

        public ConfigCacheService()
    • 方法详细资料

      • groupCount

        public static int groupCount()
      • hasGroupKey

        public static boolean hasGroupKey​(java.lang.String groupKey)
      • dump

        public static boolean dump​(java.lang.String dataId,
                                   java.lang.String group,
                                   java.lang.String tenant,
                                   java.lang.String content,
                                   long lastModifiedTs,
                                   java.lang.String type,
                                   java.lang.String encryptedDataKey)
        Save config file and update md5 value in cache.
        参数:
        dataId - dataId string value.
        group - group string value.
        tenant - tenant string value.
        content - content string value.
        lastModifiedTs - lastModifiedTs.
        type - file type.
        返回:
        dumpChange success or not.
      • dumpBeta

        public static boolean dumpBeta​(java.lang.String dataId,
                                       java.lang.String group,
                                       java.lang.String tenant,
                                       java.lang.String content,
                                       long lastModifiedTs,
                                       java.lang.String betaIps,
                                       java.lang.String encryptedDataKey)
        Save config file and update md5 value in cache.
        参数:
        dataId - dataId string value.
        group - group string value.
        tenant - tenant string value.
        content - content string value.
        lastModifiedTs - lastModifiedTs.
        betaIps - betaIps string value.
        返回:
        dumpChange success or not.
      • dumpTag

        public static boolean dumpTag​(java.lang.String dataId,
                                      java.lang.String group,
                                      java.lang.String tenant,
                                      java.lang.String tag,
                                      java.lang.String content,
                                      long lastModifiedTs,
                                      java.lang.String encryptedDataKey)
        Save config file and update md5 value in cache.
        参数:
        dataId - dataId string value.
        group - group string value.
        tenant - tenant string value.
        content - content string value.
        lastModifiedTs - lastModifiedTs.
        tag - tag string value.
        返回:
        dumpChange success or not.
      • dumpChange

        public static boolean dumpChange​(java.lang.String dataId,
                                         java.lang.String group,
                                         java.lang.String tenant,
                                         java.lang.String content,
                                         long lastModifiedTs,
                                         java.lang.String encryptedDataKey)
        Save config file and update md5 value in cache.
        参数:
        dataId - dataId string value.
        group - group string value.
        tenant - tenant string value.
        content - content string value.
        lastModifiedTs - lastModifiedTs.
        返回:
        dumpChange success or not.
      • reloadConfig

        public static void reloadConfig()
        Reload config.
      • checkMd5

        public static java.util.List<java.lang.String> checkMd5()
        Check md5.
        返回:
        return diff result list.
      • remove

        public static boolean remove​(java.lang.String dataId,
                                     java.lang.String group,
                                     java.lang.String tenant)
        Delete config file, and delete cache.
        参数:
        dataId - dataId string value.
        group - group string value.
        tenant - tenant string value.
        返回:
        remove success or not.
      • removeBeta

        public static boolean removeBeta​(java.lang.String dataId,
                                         java.lang.String group,
                                         java.lang.String tenant)
        Delete beta config file, and delete cache.
        参数:
        dataId - dataId string value.
        group - group string value.
        tenant - tenant string value.
        返回:
        remove success or not.
      • removeTag

        public static boolean removeTag​(java.lang.String dataId,
                                        java.lang.String group,
                                        java.lang.String tenant,
                                        java.lang.String tag)
        Delete tag config file, and delete cache.
        参数:
        dataId - dataId string value.
        group - group string value.
        tenant - tenant string value.
        tag - tag string value.
        返回:
        remove success or not.
      • updateMd5

        public static void updateMd5​(java.lang.String groupKey,
                                     java.lang.String md5,
                                     long lastModifiedTs,
                                     java.lang.String encryptedDataKey)
        Update md5 value.
        参数:
        groupKey - groupKey string value.
        md5 - md5 string value.
        lastModifiedTs - lastModifiedTs long value.
      • updateBetaMd5

        public static void updateBetaMd5​(java.lang.String groupKey,
                                         java.lang.String md5,
                                         java.util.List<java.lang.String> ips4Beta,
                                         long lastModifiedTs,
                                         java.lang.String encryptedDataKey)
        Update Beta md5 value.
        参数:
        groupKey - groupKey string value.
        md5 - md5 string value.
        ips4Beta - ips4Beta List.
        lastModifiedTs - lastModifiedTs long value.
      • updateTagMd5

        public static void updateTagMd5​(java.lang.String groupKey,
                                        java.lang.String tag,
                                        java.lang.String md5,
                                        long lastModifiedTs,
                                        java.lang.String encryptedDataKey)
        Update tag md5 value.
        参数:
        groupKey - groupKey string value.
        tag - tag string value.
        md5 - md5 string value.
        lastModifiedTs - lastModifiedTs long value.
      • getContentMd5

        public static java.lang.String getContentMd5​(java.lang.String groupKey)
        Get and return content md5 value from cache. Empty string represents no data.
      • getContentMd5

        public static java.lang.String getContentMd5​(java.lang.String groupKey,
                                                     java.lang.String ip,
                                                     java.lang.String tag)
      • getContentBetaMd5

        public static java.lang.String getContentBetaMd5​(java.lang.String groupKey)
        Get and return beta md5 value from cache. Empty string represents no data.
      • getContentTagMd5

        public static java.lang.String getContentTagMd5​(java.lang.String groupKey,
                                                        java.lang.String tag)
        Get and return tag md5 value from cache. Empty string represents no data.
        参数:
        groupKey - groupKey string value.
        tag - tag string value.
        返回:
        Content Tag Md5 value.
      • getBetaIps

        public static java.util.List<java.lang.String> getBetaIps​(java.lang.String groupKey)
        Get and return beta ip list.
        参数:
        groupKey - groupKey string value.
        返回:
        list beta ips.
      • getContentCache

        public static CacheItem getContentCache​(java.lang.String groupKey)
        Get and return content cache.
        参数:
        groupKey - groupKey string value.
        返回:
        CacheItem.
      • getLastModifiedTs

        public static long getLastModifiedTs​(java.lang.String groupKey)
      • getLastModifiedTs4Beta

        public static long getLastModifiedTs4Beta​(java.lang.String groupKey)
      • getTagLastModifiedTs

        public static long getTagLastModifiedTs​(java.lang.String groupKey,
                                                java.lang.String tag)
      • isUptodate

        public static boolean isUptodate​(java.lang.String groupKey,
                                         java.lang.String md5)
      • isUptodate

        public static boolean isUptodate​(java.lang.String groupKey,
                                         java.lang.String md5,
                                         java.lang.String ip,
                                         java.lang.String tag)
      • tryReadLock

        public static int tryReadLock​(java.lang.String groupKey)
        Try to add read lock. If it succeeded, then it can call releaseWriteLock(String).And it won't call if failed.
        参数:
        groupKey - groupKey string value.
        返回:
        0 - No data and failed. Positive number - lock succeeded. Negative number - lock failed。
      • releaseReadLock

        public static void releaseReadLock​(java.lang.String groupKey)
        Release readLock.
        参数:
        groupKey - groupKey string value.
      • tryWriteLock

        static int tryWriteLock​(java.lang.String groupKey)
        Try to add write lock. If it succeeded, then it can call releaseWriteLock(String).And it won't call if failed.
        参数:
        groupKey - groupKey string value.
        返回:
        0 - No data and failed. Positive number 0 - Success. Negative number - lock failed。
      • releaseWriteLock

        static void releaseWriteLock​(java.lang.String groupKey)
      • makeSure

        static CacheItem makeSure​(java.lang.String groupKey,
                                  java.lang.String encryptedDataKey,
                                  boolean isBeta)
      • setEncryptDateKey

        private static void setEncryptDateKey​(CacheItem cacheItem,
                                              java.lang.String encryptedDataKey,
                                              boolean isBeta)