class SlidingWindowRateLimiter extends AbstractRedisRateLimiter {

    public SlidingWindowRateLimiter(StringRedisTemplate stringRedisTemplate) {
        super(RateLimitEnum.SLIDING_WINDOW.getScriptName(), stringRedisTemplate);
    }

    @Override
    public List<String> getKeys(final String key) {<FILL_FUNCTION_BODY>}
}

        String cacheKey = CommonUtil.getInstance().getServiceName() + ":" + PREFIX + ":" + key;
        String memberKey = CommonUtil.getInstance().getIp() + ":" + COUNTER.incrementAndGet();
        return Arrays.asList(cacheKey, memberKey);
    
<methods>public void <init>(java.lang.String, StringRedisTemplate) ,public List<java.lang.String> getKeys(java.lang.String) ,public RedisScript<List<java.lang.Long>> getScript() ,public List<java.lang.Long> isAllowed(java.lang.String, long, int) <variables>protected static final java.util.concurrent.atomic.AtomicInteger COUNTER,protected static final java.lang.String PREFIX,private static final java.lang.String SCRIPT_PATH,private final non-sealed RedisScript<List<java.lang.Long>> script,protected final non-sealed StringRedisTemplate stringRedisTemplate