class SimpleRedisLock extends AbstractSimpleLock {

  @Override
  protected boolean release(final String key, final String storeId, final String token) {
    final var singletonKeyList = Collections.singletonList(storeId + ":" + key);

    final var released = stringRedisTemplate.execute(lockReleaseScript, singletonKeyList, token);
    if (released) {
      log.debug("Release script deleted the record for key {} with token {} in store {}", key, token, storeId);
    } else {
      log.error("Release script failed for key {} with token {} in store {}", key, token, storeId);
    }
    return released;
  }

  public  SimpleRedisLock(final Supplier<String> tokenSupplier, final StringRedisTemplate stringRedisTemplate);

}