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

io.quarkus.redis.datasource.value.ReactiveValueCommands Maven / Gradle / Ivy

There is a newer version: 3.17.5
Show newest version
package io.quarkus.redis.datasource.value;

import java.util.Map;

import io.quarkus.redis.datasource.ReactiveRedisCommands;
import io.smallrye.mutiny.Uni;

/**
 * Allows executing commands from the {@code string} group.
 * See the string command list for further information
 * about these commands.
 * 

* This group can be used with value of type {@code String}, or a type which will be automatically * serialized/deserialized with a codec. *

* NOTE: Instead of {@code string}, this group is named {@code value} to avoid the confusion with the * Java String type. Indeed, Redis strings can be strings, numbers, byte arrays... * * @param the type of the key * @param the type of the value */ public interface ReactiveValueCommands extends ReactiveRedisCommands { /** * Execute the command APPEND. * Summary: Append a value to a key * Group: string * Requires Redis 2.0.0 * * @param key the key * @param value the value * @return the length of the string after the append operation. **/ Uni append(K key, V value); /** * Execute the command DECR. * Summary: Decrement the integer value of a key by one * Group: string * Requires Redis 1.0.0 * * @param key the key * @return the value of key after the decrement **/ Uni decr(K key); /** * Execute the command DECRBY. * Summary: Decrement the integer value of a key by the given number * Group: string * Requires Redis 1.0.0 * * @param key the key * @param amount the amount, can be negative * @return the value of key after the decrement **/ Uni decrby(K key, long amount); /** * Execute the command GET. * Summary: Get the value of a key * Group: string * Requires Redis 1.0.0 * * @param key the key * @return the value of key, or {@code null} when key does not exist. If one of the passed key does not exist, the * returned map contains a {@code null} value associated with the missing key. **/ Uni get(K key); /** * Execute the command GETDEL. * Summary: Get the value of a key and delete the key * Group: string * Requires Redis 6.2.0 * * @param key the key * @return the value of key, {@code null} when key does not exist, or an error if the key's value type isn't a string. **/ Uni getdel(K key); /** * Execute the command GETEX. * Summary: Get the value of a key and optionally set its expiration * Group: string * Requires Redis 6.2.0 * * @param key the key * @param args the getex command extra-arguments * @return the value of key, or {@code null} when key does not exist. **/ Uni getex(K key, GetExArgs args); /** * Execute the command GETRANGE. * Summary: Get a substring of the string stored at a key * Group: string * Requires Redis 2.4.0 * * @param key the key * @param start the start offset * @param end the end offset * @return the sub-string **/ Uni getrange(K key, long start, long end); /** * Execute the command GETSET. * Summary: Set the string value of a key and return its old value * Group: string * Requires Redis 1.0.0 * * @param key the key * @param value the value * @return the old value stored at key, or {@code null} when key did not exist. * @deprecated See https://redis.io/commands/getset **/ Uni getset(K key, V value); /** * Execute the command INCR. * Summary: Increment the integer value of a key by one * Group: string * Requires Redis 1.0.0 * * @param key the key * @return the value of key after the increment **/ Uni incr(K key); /** * Execute the command INCRBY. * Summary: Increment the integer value of a key by the given amount * Group: string * Requires Redis 1.0.0 * * @param key the key * @param amount the amount, can be negative * @return the value of key after the increment **/ Uni incrby(K key, long amount); /** * Execute the command INCRBYFLOAT. * Summary: Increment the float value of a key by the given amount * Group: string * Requires Redis 2.6.0 * * @param key the key * @param amount the amount, can be negative * @return the value of key after the increment. **/ Uni incrbyfloat(K key, double amount); /** * Execute the command LCS. * Summary: Find longest common substring * Group: string * Requires Redis 7.0.0 * * @param key1 the key * @param key2 the key * @return the string representing the longest common substring is returned. **/ Uni lcs(K key1, K key2); /** * Execute the command LCS. * Summary: Find longest common substring and return the length (using {@code LEN}) * Group: string * Requires Redis 7.0.0 * * @param key1 the key * @param key2 the key * @return the length of the longest common substring. **/ Uni lcsLength(K key1, K key2); // TODO Add LCS with IDX support /** * Execute the command MGET. * Summary: Get the values of all the given keys * Group: string * Requires Redis 1.0.0 * * @param keys the keys * @return list of values at the specified keys. **/ Uni> mget(K... keys); /** * Execute the command MSET. * Summary: Set multiple keys to multiple values * Group: string * Requires Redis 1.0.1 * * @param map the key/value map containing the items to store * @return a Uni producing a {@code null} item on success, a failure otherwise **/ Uni mset(Map map); /** * Execute the command MSETNX. * Summary: Set multiple keys to multiple values, only if none of the keys exist * Group: string * Requires Redis 1.0.1 * * @param map the key/value map containing the items to store * @return {@code true} the all the keys were set. {@code false} no key was set (at least one key already existed). **/ Uni msetnx(Map map); /** * Execute the command PSETEX. * Summary: Set the value and expiration in milliseconds of a key * Group: string * Requires Redis 2.6.0 * * @param key the key * @param milliseconds the duration in ms * @param value the value * @return a Uni producing a {@code null} item on success, a failure otherwise **/ Uni psetex(K key, long milliseconds, V value); /** * Execute the command SET. * Summary: Set the string value of a key * Group: string * Requires Redis 1.0.0 * * @param key the key * @param value the value * @return a Uni producing a {@code null} item on success, a failure otherwise **/ Uni set(K key, V value); /** * Execute the command SET. * Summary: Set the string value of a key * Group: string * Requires Redis 1.0.0 * * @param key the key * @param value the value * @param setArgs the set command extra-arguments * @return a Uni producing a {@code null} item on success, a failure otherwise **/ Uni set(K key, V value, SetArgs setArgs); /** * Execute the command SET. * Summary: Set the string value of a key, and return the previous value * Group: string * Requires Redis 1.0.0 * * @param key the key * @param value the value * @return the old value, {@code null} if not present **/ Uni setGet(K key, V value); /** * Execute the command SET. * Summary: Set the string value of a key, and return the previous value * Group: string * Requires Redis 1.0.0 * * @param key the key * @param value the value * @param setArgs the set command extra-arguments * @return the old value, {@code null} if not present **/ Uni setGet(K key, V value, SetArgs setArgs); /** * Execute the command SETEX. * Summary: Set the value and expiration of a key * Group: string * Requires Redis 2.0.0 * * @param key the key * @param value the value **/ Uni setex(K key, long seconds, V value); /** * Execute the command SETNX. * Summary: Set the value of a key, only if the key does not exist * Group: string * Requires Redis 1.0.0 * * @param key the key * @param value the value * @return {@code true} the key was set {@code false} the key was not set **/ Uni setnx(K key, V value); /** * Execute the command SETRANGE. * Summary: Overwrite part of a string at key starting at the specified offset * Group: string * Requires Redis 2.2.0 * * @param key the key * @param value the value * @return the length of the string after it was modified by the command. **/ Uni setrange(K key, long offset, V value); /** * Execute the command STRLEN. * Summary: Get the length of the value stored in a key * Group: string * Requires Redis 2.2.0 * * @param key the key * @return the length of the string at key, or 0 when key does not exist. **/ Uni strlen(K key); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy