package org.apache.seatunnel.connectors.seatunnel.preview.config;

import java.time.Duration;
import java.util.List;
import java.util.Map;
import java.util.Set;

public interface RedisClient {

    public String set(final String key, final String value);

    public String get(final String key);

    public boolean hset(final String key, final String field, final String value);

    public Map<String, String> hgetAll(final String key);

    public long lpush(final String key, final String... strings);

    public List<String> lrange(final String key, final long start, final long stop);

    public long sadd(final String key, final String... members);

    public Set<String> smembers(final String key);

    public long zadd(final String key, final double score, final String member);

    public List<String> zrange(final String key, final long start, final long stop);

    public void close();

    public void expire(String key, Duration duration);
}
