All Downloads are FREE. Search and download functionalities are using the official Maven repository.

redis.clients.jedis.commands.JedisCommands Maven / Gradle / Ivy

package redis.clients.jedis.commands;

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

import redis.clients.jedis.BitPosParams;
import redis.clients.jedis.StreamConsumersInfo;
import redis.clients.jedis.StreamEntryID;
import redis.clients.jedis.GeoCoordinate;
import redis.clients.jedis.GeoRadiusResponse;
import redis.clients.jedis.GeoUnit;
import redis.clients.jedis.ListPosition;
import redis.clients.jedis.StreamGroupInfo;
import redis.clients.jedis.StreamInfo;
import redis.clients.jedis.StreamPendingEntry;
import redis.clients.jedis.ScanParams;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.SortingParams;
import redis.clients.jedis.StreamEntry;
import redis.clients.jedis.StreamPendingSummary;
import redis.clients.jedis.Tuple;
import redis.clients.jedis.params.GeoAddParams;
import redis.clients.jedis.params.GeoRadiusParam;
import redis.clients.jedis.params.GetExParams;
import redis.clients.jedis.params.RestoreParams;
import redis.clients.jedis.params.SetParams;
import redis.clients.jedis.params.StrAlgoLCSParams;
import redis.clients.jedis.params.XAddParams;
import redis.clients.jedis.params.XAutoClaimParams;
import redis.clients.jedis.params.XClaimParams;
import redis.clients.jedis.params.XPendingParams;
import redis.clients.jedis.params.XTrimParams;
import redis.clients.jedis.params.ZAddParams;
import redis.clients.jedis.params.ZIncrByParams;
import redis.clients.jedis.params.LPosParams;
import redis.clients.jedis.resps.KeyedListElement;
import redis.clients.jedis.resps.LCSMatchResult;

/**
 * Common interface for sharded and non-sharded Jedis
 */
public interface JedisCommands {
  String set(String key, String value);

  String set(String key, String value, SetParams params);

  String get(String key);

  String getDel(String key);

  String getEx(String key, GetExParams params);

  Boolean exists(String key);

  Long persist(String key);

  String type(String key);

  byte[] dump(String key);

  /**
   * @deprecated Use {@link #restore(java.lang.String, long, byte[])}.
   */
  @Deprecated
  default String restore(String key, int ttl, byte[] serializedValue) {
    return restore(key, (long) ttl, serializedValue);
  }

  String restore(String key, long ttl, byte[] serializedValue);

  /**
   * @deprecated Use {@link #restore(java.lang.String, long, byte[], redis.clients.jedis.params.RestoreParams)}.
   */
  @Deprecated
  default String restoreReplace(String key, int ttl, byte[] serializedValue) {
    return restoreReplace(key, (long) ttl, serializedValue);
  }

  /**
   * @deprecated Use {@link #restore(java.lang.String, long, byte[], redis.clients.jedis.params.RestoreParams)}.
   */
  @Deprecated
  String restoreReplace(String key, long ttl, byte[] serializedValue);

  String restore(String key, long ttl, byte[] serializedValue, RestoreParams params);

  /**
   * @deprecated Use {@link #expire(java.lang.String, long)}.
   */
  @Deprecated
  default Long expire(String key, int seconds) {
    return expire(key, (long) seconds);
  }

  Long expire(String key, long seconds);

  Long pexpire(String key, long milliseconds);

  Long expireAt(String key, long unixTime);

  Long pexpireAt(String key, long millisecondsTimestamp);

  Long ttl(String key);

  Long pttl(String key);

  Long touch(String key);

  Boolean setbit(String key, long offset, boolean value);

  /**
   * @deprecated Use {@link #setbit(java.lang.String, long, boolean)}.
   */
  @Deprecated
  Boolean setbit(String key, long offset, String value);

  Boolean getbit(String key, long offset);

  Long setrange(String key, long offset, String value);

  String getrange(String key, long startOffset, long endOffset);

  String getSet(String key, String value);

  Long setnx(String key, String value);

  /**
   * @deprecated Use {@link #setex(java.lang.String, long, java.lang.String)}.
   */
  @Deprecated
  default String setex(String key, int seconds, String value) {
    return setex(key, (long) seconds, value);
  }

  String setex(String key, long seconds, String value);

  String psetex(String key, long milliseconds, String value);

  Long decrBy(String key, long decrement);

  Long decr(String key);

  Long incrBy(String key, long increment);

  Double incrByFloat(String key, double increment);

  Long incr(String key);

  Long append(String key, String value);

  String substr(String key, int start, int end);

  Long hset(String key, String field, String value);

  Long hset(String key, Map hash);

  String hget(String key, String field);

  Long hsetnx(String key, String field, String value);

  String hmset(String key, Map hash);

  List hmget(String key, String... fields);

  Long hincrBy(String key, String field, long value);

  Double hincrByFloat(String key, String field, double value);

  Boolean hexists(String key, String field);

  Long hdel(String key, String... field);

  Long hlen(String key);

  Set hkeys(String key);

  List hvals(String key);

  Map hgetAll(String key);

  String hrandfield(String key);

  List hrandfield(String key, long count);

  Map hrandfieldWithValues(String key, long count);

  Long rpush(String key, String... string);

  Long lpush(String key, String... string);

  Long llen(String key);

  List lrange(String key, long start, long stop);

  String ltrim(String key, long start, long stop);

  String lindex(String key, long index);

  String lset(String key, long index, String value);

  Long lrem(String key, long count, String value);

  String lpop(String key);

  List lpop(String key, int count);

  Long lpos(String key, String element);

  Long lpos(String key, String element, LPosParams params);

  List lpos(String key, String element, LPosParams params, long count);

  String rpop(String key);

  List rpop(String key, int count);

  Long sadd(String key, String... member);

  Set smembers(String key);

  Long srem(String key, String... member);

  String spop(String key);

  Set spop(String key, long count);

  Long scard(String key);

  Boolean sismember(String key, String member);

  List smismember(String key, String... members);

  String srandmember(String key);

  List srandmember(String key, int count);

  Long strlen(String key);

  Long zadd(String key, double score, String member);

  Long zadd(String key, double score, String member, ZAddParams params);

  Long zadd(String key, Map scoreMembers);

  Long zadd(String key, Map scoreMembers, ZAddParams params);

  Double zaddIncr(String key, double score, String member, ZAddParams params);

  Set zrange(String key, long start, long stop);

  Long zrem(String key, String... members);

  Double zincrby(String key, double increment, String member);

  Double zincrby(String key, double increment, String member, ZIncrByParams params);

  Long zrank(String key, String member);

  Long zrevrank(String key, String member);

  Set zrevrange(String key, long start, long stop);

  Set zrangeWithScores(String key, long start, long stop);

  Set zrevrangeWithScores(String key, long start, long stop);

  String zrandmember(String key);

  Set zrandmember(String key, long count);

  Set zrandmemberWithScores(String key, long count);

  Long zcard(String key);

  Double zscore(String key, String member);

  List zmscore(String key, String... members);

  Tuple zpopmax(String key);

  Set zpopmax(String key, int count);

  Tuple zpopmin(String key);

  Set zpopmin(String key, int count);

  List sort(String key);

  List sort(String key, SortingParams sortingParameters);

  Long zcount(String key, double min, double max);

  Long zcount(String key, String min, String max);

  Set zrangeByScore(String key, double min, double max);

  Set zrangeByScore(String key, String min, String max);

  Set zrevrangeByScore(String key, double max, double min);

  Set zrangeByScore(String key, double min, double max, int offset, int count);

  Set zrevrangeByScore(String key, String max, String min);

  Set zrangeByScore(String key, String min, String max, int offset, int count);

  Set zrevrangeByScore(String key, double max, double min, int offset, int count);

  Set zrangeByScoreWithScores(String key, double min, double max);

  Set zrevrangeByScoreWithScores(String key, double max, double min);

  Set zrangeByScoreWithScores(String key, double min, double max, int offset, int count);

  Set zrevrangeByScore(String key, String max, String min, int offset, int count);

  Set zrangeByScoreWithScores(String key, String min, String max);

  Set zrevrangeByScoreWithScores(String key, String max, String min);

  Set zrangeByScoreWithScores(String key, String min, String max, int offset, int count);

  Set zrevrangeByScoreWithScores(String key, double max, double min, int offset, int count);

  Set zrevrangeByScoreWithScores(String key, String max, String min, int offset, int count);

  Long zremrangeByRank(String key, long start, long stop);

  Long zremrangeByScore(String key, double min, double max);

  Long zremrangeByScore(String key, String min, String max);

  Long zlexcount(String key, String min, String max);

  Set zrangeByLex(String key, String min, String max);

  Set zrangeByLex(String key, String min, String max, int offset, int count);

  Set zrevrangeByLex(String key, String max, String min);

  Set zrevrangeByLex(String key, String max, String min, int offset, int count);

  Long zremrangeByLex(String key, String min, String max);

  Long linsert(String key, ListPosition where, String pivot, String value);

  Long lpushx(String key, String... string);

  Long rpushx(String key, String... string);

  List blpop(int timeout, String key);

  KeyedListElement blpop(double timeout, String key);

  List brpop(int timeout, String key);

  KeyedListElement brpop(double timeout, String key);

  Long del(String key);

  Long unlink(String key);

  String echo(String string);

  Long move(String key, int dbIndex);

  Long bitcount(String key);

  Long bitcount(String key, long start, long end);

  Long bitpos(String key, boolean value);

  Long bitpos(String key, boolean value, BitPosParams params);

  ScanResult> hscan(String key, String cursor);

  ScanResult> hscan(String key, String cursor, ScanParams params);

  ScanResult sscan(String key, String cursor);

  ScanResult zscan(String key, String cursor);

  ScanResult zscan(String key, String cursor, ScanParams params);

  ScanResult sscan(String key, String cursor, ScanParams params);

  Long pfadd(String key, String... elements);

  long pfcount(String key);

  // Geo Commands

  Long geoadd(String key, double longitude, double latitude, String member);

  Long geoadd(String key, Map memberCoordinateMap);

  Long geoadd(String key, GeoAddParams params, Map memberCoordinateMap);

  Double geodist(String key, String member1, String member2);

  Double geodist(String key, String member1, String member2, GeoUnit unit);

  List geohash(String key, String... members);

  List geopos(String key, String... members);

  List georadius(String key, double longitude, double latitude, double radius,
      GeoUnit unit);

  List georadiusReadonly(String key, double longitude, double latitude,
      double radius, GeoUnit unit);

  List georadius(String key, double longitude, double latitude, double radius,
      GeoUnit unit, GeoRadiusParam param);

  List georadiusReadonly(String key, double longitude, double latitude,
      double radius, GeoUnit unit, GeoRadiusParam param);

  List georadiusByMember(String key, String member, double radius, GeoUnit unit);

  List georadiusByMemberReadonly(String key, String member, double radius, GeoUnit unit);

  List georadiusByMember(String key, String member, double radius, GeoUnit unit,
      GeoRadiusParam param);

  List georadiusByMemberReadonly(String key, String member, double radius,
      GeoUnit unit, GeoRadiusParam param);

  /**
   * Executes BITFIELD Redis command
   * @param key
   * @param arguments
   */
  List bitfield(String key, String...arguments);

  List bitfieldReadonly(String key, String...arguments);

  /**
   * Used for HSTRLEN Redis command
   * @param key
   * @param field
   * @return length of the value for key
   */
  Long hstrlen(String key, String field);

  /**
   * XADD key ID field string [field string ...]
   *
   * @param key
   * @param id
   * @param hash
   * @return the ID of the added entry
   */
  StreamEntryID xadd(String key, StreamEntryID id, Map hash);

  /**
   * XADD key MAXLEN ~ LEN ID field string [field string ...]
   *
   * @param key
   * @param id
   * @param hash
   * @param maxLen
   * @param approximateLength
   */
  StreamEntryID xadd(String key, StreamEntryID id, Map hash, long maxLen, boolean approximateLength);

  /**
   * XADD key [NOMKSTREAM] [MAXLEN|MINID [=|~] threshold [LIMIT count]] *|ID field value [field value ...]
   *
   * @param key
   * @param hash
   * @param params
   */
  StreamEntryID xadd(String key, Map hash, XAddParams params);

  /**
   * XLEN key
   *
   * @param key
   */
  Long xlen(String key);

  /**
   * XRANGE key start end
   *
   * WARNING: Sending untyped null for both start and end would raise compilation error. Casting the
   * nulls to {@link StreamEntryID} would resolve the error.
   *
   * @param key
   * @param start minimum {@link StreamEntryID} for the retrieved range, passing null will indicate minimum ID possible in the stream
   * @param end maximum {@link StreamEntryID} for the retrieved range, passing null will indicate maximum ID possible in the stream
   * @return The entries with IDs matching the specified range.
   */
  List xrange(String key, StreamEntryID start, StreamEntryID end);

  /**
   * XRANGE key start end COUNT count
   *
   * WARNING: Sending untyped null for both start and end would raise compilation error. Casting the
   * nulls to {@link StreamEntryID} would resolve the error.
   *
   * @param key
   * @param start minimum {@link StreamEntryID} for the retrieved range, passing null will indicate minimum ID possible in the stream
   * @param end maximum {@link StreamEntryID} for the retrieved range, passing null will indicate maximum ID possible in the stream
   * @param count maximum number of entries returned
   * @return The entries with IDs matching the specified range.
   */
  List xrange(String key, StreamEntryID start, StreamEntryID end, int count);

  /**
   * XREVRANGE key end start
   *
   * WARNING: Sending untyped null for both start and end would raise compilation error. Casting the
   * nulls to {@link StreamEntryID} would resolve the error.
   *
   * @param key
   * @param start minimum {@link StreamEntryID} for the retrieved range, passing null will indicate minimum ID possible in the stream
   * @param end maximum {@link StreamEntryID} for the retrieved range, passing null will indicate maximum ID possible in the stream
   * @return the entries with IDs matching the specified range, from the higher ID to the lower ID matching.
   */
  List xrevrange(String key, StreamEntryID end, StreamEntryID start);

  /**
   * XREVRANGE key end start COUNT count
   *
   * WARNING: Sending untyped null for both start and end would raise compilation error. Casting the
   * nulls to {@link StreamEntryID} would resolve the error.
   *
   * @param key
   * @param start minimum {@link StreamEntryID} for the retrieved range, passing null will indicate minimum ID possible in the stream
   * @param end maximum {@link StreamEntryID} for the retrieved range, passing null will indicate maximum ID possible in the stream
   * @param count The entries with IDs matching the specified range.
   * @return the entries with IDs matching the specified range, from the higher ID to the lower ID matching.
   */
  List xrevrange(String key, StreamEntryID end, StreamEntryID start, int count);

  /**
   * XACK key group ID [ID ...]
   *
   * @param key
   * @param group
   * @param ids
   */
  long xack(String key, String group,  StreamEntryID... ids);

  /**
   * XGROUP CREATE   
   *
   * @param key
   * @param groupname
   * @param id
   * @param makeStream
   */
  String xgroupCreate( String key, String groupname, StreamEntryID id, boolean makeStream);

  /**
   * XGROUP SETID   
   *
   * @param key
   * @param groupname
   * @param id
   */
  String xgroupSetID( String key, String groupname, StreamEntryID id);

  /**
   * XGROUP DESTROY  
   *
   * @param key
   * @param groupname
   */
  long xgroupDestroy( String key, String groupname);

  /**
   * XGROUP DELCONSUMER   
   * @param key
   * @param groupname
   * @param consumername
   */
  Long xgroupDelConsumer( String key, String groupname, String consumername);

  /**
   * XPENDING key group
   *
   * @param key
   * @param groupname
   */
  StreamPendingSummary xpending(String key, String groupname);

  /**
   * XPENDING key group [start end count] [consumer]
   *
   * @param key
   * @param groupname
   * @param start
   * @param end
   * @param count
   * @param consumername
   */
  List xpending(String key, String groupname, StreamEntryID start,
      StreamEntryID end, int count, String consumername);

  /**
   * XPENDING key group [[IDLE min-idle-time] start end count [consumer]]
   *
   * @param key
   * @param groupname
   * @param params
   */
  List xpending(String key, String groupname, XPendingParams params);

  /**
   * XDEL key ID [ID ...]
   * @param key
   * @param ids
   */
  long xdel( String key, StreamEntryID... ids);

  /**
   * XTRIM key MAXLEN [~] count
   * @param key
   * @param maxLen
   * @param approximate
   */
  long xtrim( String key, long maxLen, boolean approximate);

  /**
   * XTRIM key MAXLEN|MINID [=|~] threshold [LIMIT count]
   * @param key
   * @param params
   */
  long xtrim(String key, XTrimParams params);

  /**
   *  XCLAIM      
   *        [IDLE ] [TIME ] [RETRYCOUNT ]
   *        [FORCE] [JUSTID]
   */
  List xclaim( String key, String group, String consumername, long minIdleTime,
      long newIdleTime, int retries, boolean force, StreamEntryID... ids);

  /**
   *  XCLAIM      ... 
   *        [IDLE ] [TIME ] [RETRYCOUNT ]
   *        [FORCE]
   */
  List xclaim(String key, String group, String consumername, long minIdleTime,
      XClaimParams params, StreamEntryID... ids);

  /**
   *  XCLAIM      ... 
   *        [IDLE ] [TIME ] [RETRYCOUNT ]
   *        [FORCE] JUSTID
   */
  List xclaimJustId(String key, String group, String consumername, long minIdleTime,
      XClaimParams params, StreamEntryID... ids);

  /**
   * XAUTOCLAIM key group consumer min-idle-time start [COUNT count]
   *
   * @param key Stream Key
   * @param group Consumer Group
   * @param consumerName Consumer name to transfer the auto claimed entries
   * @param minIdleTime Entries pending more than minIdleTime will be transferred ownership
   * @param start {@link StreamEntryID} - Entries >= start will be transferred ownership, passing null will indicate '-'
   * @param params {@link XAutoClaimParams}
   */
  Map.Entry> xautoclaim(String key, String group, String consumerName,
      long minIdleTime, StreamEntryID start, XAutoClaimParams params);

  /**
   * XAUTOCLAIM key group consumer min-idle-time start [COUNT count] JUSTID
   *
   * @param key Stream Key
   * @param group Consumer Group
   * @param consumerName Consumer name to transfer the auto claimed entries
   * @param minIdleTime Entries pending more than minIdleTime will be transferred ownership
   * @param start {@link StreamEntryID} - Entries >= start will be transferred ownership, passing null will indicate '-'
   * @param params {@link XAutoClaimParams}
   */
  Map.Entry> xautoclaimJustId(String key, String group, String consumerName,
      long minIdleTime, StreamEntryID start, XAutoClaimParams params);

  /**
   * Introspection command used in order to retrieve different information about the stream
   * @param key Stream name
   * @return {@link StreamInfo} that contains information about the stream
   */
  StreamInfo xinfoStream (String key);

  /**
   * Introspection command used in order to retrieve different information about groups in the stream
   * @param key Stream name
   * @return List of {@link StreamGroupInfo} containing information about groups
   */
  List xinfoGroup (String key);

  /**
   * Introspection command used in order to retrieve different information about consumers in the group
   * @param key Stream name
   * @param group Group name
   * @return List of {@link StreamConsumersInfo} containing information about consumers that belong
   * to the the group
   */
  List xinfoConsumers (String key, String group);

  LCSMatchResult strAlgoLCSStrings(final String strA, final String strB, final StrAlgoLCSParams params);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy