docs: public void deleteCache(DeleteCacheAopProxyChain jp, CacheDelete cacheDelete, Object retVal) throws Throwable {
          Object[] arguments = jp.getArgs();
          CacheDeleteKey[] keys = cacheDelete.value();
          if (null == keys || keys.length == 0) {
              return;
          }
          Object target = jp.getTarget();
          String methodName = jp.getMethod().getName();
          try {
              boolean isOnTransactional = CacheHelper.isOnTransactional();
              Set<CacheKeyTO> keySet = null;
              if (!isOnTransactional) {
                  keySet = new HashSet<>(keys.length);
              }
              for (int i = 0; i < keys.length; i++) {
                  CacheDeleteKey keyConfig = keys[i];
                  String[] tempKeys = keyConfig.value();
                  String tempHfield = keyConfig.hfield();
                  if (!scriptParser.isCanDelete(keyConfig, arguments, retVal)) {
                      continue;
                  }
                  for (String tempKey : tempKeys) {
                      CacheKeyTO key = getCacheKey(target, methodName, arguments, tempKey, tempHfield, retVal, true);
                      if (null == key) {
                          continue;
                      }
                      if (isOnTransactional) {
                          CacheHelper.addDeleteCacheKey(key);
                      } else {
                          keySet.add(key);
                      }
                      this.getAutoLoadHandler().resetAutoLoadLastLoadTime(key);
                  }
              }
              this.delete(keySet);
          } catch (Throwable e) {
              log.error(e.getMessage(), e);
              throw e;
          }
      }