https://github.com/apache/dubbo/pull/7476/files#diff-b00639ea715ae8698865e33943cacc6a08ba0985e78980b8b74c085e4b12188bR165-R168
This pull request wants to delete stringUrls cache when the provider is empty or unsubscribe is called. but forgot to check path `/providers` in the first case, cause stringUrls was cleared every time when providers change. And this pull request also forgot to clear stringAddress and stringParam cache.
![image](https://user-images.githubusercontent.com/31196226/112958807-66649100-9175-11eb-9c57-3134a8fe8ec1.png)

cacheClearWaitingThresholdInMillis = getIntConfig(CACHE_CLEAR_WAITING_THRESHOLD, 5 * 60 * 1000);
    }
    public CacheableFailbackRegistry(URL url) {
        super(url);
        extraParameters = new HashMap<>(8);
        extraParameters.put(CHECK_KEY, String.valueOf(false));
    }
    protected static int getIntConfig(String key, int def) {
        String str = ConfigurationUtils.getProperty(key);
        int result = def;
        if (StringUtils.isNotEmpty(str)) {
            try {
                result = Integer.parseInt(str);
            } catch (NumberFormatException e) {
                logger.warn("Invalid registry properties configuration key " + key + ", value " + str);
            }
        }
        return result;
    }
    @Override
    public void doUnsubscribe(URL url, NotifyListener listener) {
        this.evictURLCache(url);
    }
    protected void evictURLCache(URL url) {
        Map<String, ServiceAddressURL> oldURLs = stringUrls.remove(url);
        logger.info("Evicting urls for service " + url.getServiceKey() + ", size " + oldURLs.size());
        try {
            if (oldURLs != null && oldURLs.size() > 0) {
                Long currentTimestamp = System.currentTimeMillis();
                for (Map.Entry<String, ServiceAddressURL> entry : oldURLs.entrySet()) {