private void pushIfNotExists(BaseImage img) {
        if (!hasInited) {
            throw new RuntimeException("there is something error occured in init()");
        }

        if (img == null) {
            throw new NullPointerException("the arg: img can not be null");
        }

        if (StringUtils.isEmpty(img.getDomain())) {
            throw new IllegalArgumentException("the arg:img's property domain can not be null or empty");
        }

        if (StringUtils.isEmpty(img.getLocalPath())) {
            throw new IllegalArgumentException("the arg:img's property localPath can not be null or empty");
        }

        String key = this.getImageCacheKey(img.getDomain());
        String subKey = helper.getMD5Code(img.getSrc().getBytes());

        if (!this.jedis.hexists(key, subKey)) {
            String valueStr = helper.gson.toJson(img);
            jedis.hset(key, subKey, valueStr);
        }
    }