redis.clients.jedis.params.SetParams Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jredisearch-jedis Show documentation
Show all versions of jredisearch-jedis Show documentation
Jedis is a blazingly small and sane Redis java client. This is a fork of master
The newest version!
package redis.clients.jedis.params;
import java.util.ArrayList;
import redis.clients.jedis.util.SafeEncoder;
public class SetParams extends Params {
private static final String XX = "xx";
private static final String NX = "nx";
private static final String PX = "px";
private static final String EX = "ex";
public SetParams() {
}
public static SetParams setParams() {
return new SetParams();
}
/**
* Set the specified expire time, in seconds.
* @param secondsToExpire
* @return SetParams
*/
public SetParams ex(int secondsToExpire) {
addParam(EX, secondsToExpire);
return this;
}
/**
* Set the specified expire time, in milliseconds.
* @param millisecondsToExpire
* @return SetParams
*/
public SetParams px(long millisecondsToExpire) {
addParam(PX, millisecondsToExpire);
return this;
}
/**
* Only set the key if it does not already exist.
* @return SetParams
*/
public SetParams nx() {
addParam(NX);
return this;
}
/**
* Only set the key if it already exist.
* @return SetParams
*/
public SetParams xx() {
addParam(XX);
return this;
}
public byte[][] getByteParams(byte[]... args) {
ArrayList byteParams = new ArrayList();
for (byte[] arg : args) {
byteParams.add(arg);
}
if (contains(NX)) {
byteParams.add(SafeEncoder.encode(NX));
}
if (contains(XX)) {
byteParams.add(SafeEncoder.encode(XX));
}
if (contains(EX)) {
byteParams.add(SafeEncoder.encode(EX));
byteParams.add(SafeEncoder.encode(String.valueOf(getParam(EX))));
}
if (contains(PX)) {
byteParams.add(SafeEncoder.encode(PX));
byteParams.add(SafeEncoder.encode(String.valueOf(getParam(PX))));
}
return byteParams.toArray(new byte[byteParams.size()][]);
}
}