Jedis操作Redis方法API
1. String set(String key, String value);
/**
* 存储数据到缓存中,若key已存在则覆盖 value的长度不能超过1073741824 bytes (1 GB)
*
* @param key
* @param value
* @return
*/
String set(String key, String value);
2. String set(String key, String value, String nxxx, Stringexpx, long time);
/**
* 存储数据到缓存中,并制定过期时间和当Key存在时是否覆盖。
*
* @param key
* @param value
* @param nxxx
* nxxx的值只能取NX或者XX,如果取NX,则只有当key不存在是才进行set,如果取XX,则只有当key已经存在时才进行set
*
* @param expx expx的值只能取EX或者PX,代表数据过期时间的单位,EX代表秒,PX代表毫秒。
* @param time 过期时间,单位是expx所代表的单位。
* @return
*/
String set(String key, String value, String nxxx, String expx, long time);
3. String get(String key);
/**
* 从缓存中根据key取得其String类型的值,如果key不存在则返回null,如果key存在但value不是string类型的,
* 则返回一个error。这个方法只能从缓存中取得value为string类型的值。
*
* @param key
* @return
*/
String get(String key);
4. Boolean exists(String key);
/**
* 检查某个key是否在缓存中存在,如果存在返回true,否则返回false;需要注意的是,即使该key所对应的value是一个空字符串,也依然会返回true。
* @param key
* @return
*/
Boolean exists(String key);
5. Long persist(String key);
/**
*
* 如果一个key设置了过期时间,则取消其过期时间,使其永久存在。
*
* @param key
* @return 返回1或者0,1代表取消过期时间成功,0代表不成功(只有当key不存在时这种情况才会发生)
*/
Long persist(String key);
6. Long expire(String key, intseconds);
/**
* 为key设置一个特定的过期时间,单位为秒。过期时间一到,redis将会从缓存中删除掉该key。
* 即使是有过期时间的key,redis也会在持久化时将其写到硬盘中,并把相对过期时间改为绝对的Unix过期时间。
* 在一个有设置过期时间的key上重复设置过期时间将会覆盖原先设置的过期时间。
*
* @param key
* @param seconds
* @return 返回1表示成功设置过期时间,返回0表示key不存在。
*/
Long expire(String key, int seconds);
7. Long pexpire(String key, longmilliseconds);
/**
* 机制同{@link expire}一样,只是时间单位改为毫秒。
*
* @param key
* @param milliseconds
* @return 返回值同 {@link expire}一样。
*/
Long pexpire(String key, long milliseconds);
8. Long expireAt(String key, longunixTime);
/**
* 与{@link expire}不一样,expireAt设置的时间不是能存活多久,而是固定的UNIX时间(从1970年开始算起),单位为秒。
*
* @param key
* @param unixTime
* @return
*/
Long expireAt(String key, long unixTime);
9. Long pexpireAt(String key, longmillisecondsTimestamp);
/**
* 同{@link expireAt}机制相同,但单位为毫秒。
*
* @param key
* @param millisecondsTimestamp
* @return
*/
Long pexpireAt(String key, long millisecondsTimestamp);
10. String type(String key);
/**
* 返回某个key所存储的数据类型,返回的数据类型有可能是"none", "string", "list","set", "zset",
* "hash". "none"代表key不存在。
*
* @param key
* @return
*/
String type(String key);
11. Long ttl(String key);
/**
* 返回一个key还能活多久,单位为秒
*
* @param key
* @return 如果该key本来并没有设置过期时间,则返回-1,如果该key不存在,则返回-2
*/
Longttl(String key);
12. Boolean setbit(String key, longoffset, boolean value);
/**
* 设置或者清除指定key的value上的某个位置的比特位,如果该key原先不存在,则新创建一个key,其value将会自动分配内存,直到可以放下指定位置的bit值。
*
* @param key
* @param offset
* @param value true代表1,false代表0
* @return 返回原来位置的bit值是否是1,如果是1,则返回true,否则返回false。
*/
Boolean setbit(String key, long offset, boolean value);
13. Boolean setbit(String key, longoffset, String value);
/**
* 设置或者清除指定key的value上的某个位置的比特位,如果该key原先不存在,则新创建一个key,其value将会自动分配内存,
* 直到可以放下指定位置的bit值。
*
* @param key
* @param offset
* @param value 只能是"1"或者"0"
* @return 返回原来位置的bit值是否是1,如果是1,则返回true,否则返回false。
*/
Boolean setbit(String key, long offset, String value);
14. Boolean getbit(String key, longoffset);
/**
* 取得偏移量为offset的bit值。
*
* @param key
* @param offset
* @return true代表1,false代表0
*/
Boolean getbit(String key, long offset);
15. Long setrange(String key, longoffset, String value);
/**
* 这个命令的作用是覆盖key对应的string的一部分,从指定的offset处开始,覆盖value的长度。
* 如果offset比当前key对应string还要长,
* 那这个string后面就补0以达到offset。不存在的keys被认为是空字符串,所以这个命令可以确保key有一个足够大的字符串
* 能在offset处设置value。
*
* @param key
* @param offset
* @param value
* @return 该命令修改后的字符串长度
*/
Long setrange(String key, long offset, String value);
16. String getrange(String key,long startOffset, long endOffset);
/**
* 获得start - end之间的子字符串,若偏移量为负数,代表从末尾开始计算,例如-1代表倒数第一个,-2代表倒数第二个
*
* @param key
* @param startOffset
* @param endOffset
* @return
*/
String getrange(String key, long startOffset, long endOffset);
17. String getSet(String key,String value);
/**
* 自动将key对应到value并且返回原来key对应的value。如果key存在但是对应的value不是字符串,就返回错误。
*
* @param key
* @param value
* @return
*/
String getSet(String key, String value);
18. Long setnx(String key, Stringvalue);
/**
* 参考 {@link set(String key, String value, String nxxx, String expx, long
* time)}
*
* @param key
* @param value
* @return
*/
Long setnx(String key, String value);
19. String setex(String key, intseconds, String value);
/**
* 参考 {@link set(String key, String value, String nxxx, String expx, long
* time)}
*
* @param key
* @param seconds
* @param value
* @return
*/
String setex(String key, int seconds, String value);
20. Long decrBy(String key, longinteger);
/**
* 将指定key的值减少某个值
*
* @param key
* @param integer
* @return 返回减少后的新值
*/
Long decrBy(String key, long integer);
21. Long decr(String key);
/**
* 将指定Key的值减少1
*
* @param key
* @return 返回减少后的新值
*/
Long decr(String key);
22. Long incrBy(String key, longinteger);
/**
* 将指定的key的值增加指定的值
*
* @param key
* @param integer
* @return 返回增加后的新值
*/
Long incrBy(String key, long integer);
23. Double incrByFloat(String key,double value);
/**
* 将指定的key的值增加指定的值(浮点数)
*
* @param key
* @param value
* @return 返回增加后的新值
*/
Double incrByFloat(String key, double value);
24. Long incr(String key);
/**
* 将指定的key的值增加1
*
* @param key
* @return 返回增加后的新值
*/
Long incr(String key);
25. Long append(String key, Stringvalue);
/**
* 若key存在,将value追加到原有字符串的末尾。若key不存在,则创建一个新的空字符串。
*
* @param key
* @param value
* @return 返回字符串的总长度
*/
Long append(String key, String value);
26. String substr(String key, intstart, int end);
/**
* 返回start - end 之间的子字符串(start 和 end处的字符也包括在内)
*
* @param key
* @param start
* @param end
* @return 返回子字符