|
package com.higgin.string; import java.util.List;
import redis.clients.jedis.Jedis;
/** * jedis针对字符串的各种操作
*/
public> public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
//清空redis中当前所有数据
jedis.flushDB();
//保存一个字符串
jedis.set("name", "HigginCui");
//在字符串后面追加一个字符串,如果key不存在,则创建一个新的key
jedis.append("name", "12345");
//获取一个字符串
String name =jedis.get("name");
System.out.println(name);
//自增1,redis会转换成整型,再进行操作,默认为0。返回自增操作后的值
long count=jedis.incr("count");
//增加指定的值,返回操作后的值
count=jedis.incrBy("count", 20);
//自减1
count=jedis.decr("count");
//减少指定的值
count =jedis.decrBy("count", 100);
//浮点类型自增指定的数值
jedis.set("price", "18.80");
double price=jedis.incrByFloat("price", 5);
System.out.println(price);
//获取key的旧值,并给其设置新值,返回值是被修改之前的值
String oldName=jedis.getSet("name", "Higgin");
System.out.println(oldName);
//获取指定长度的字符串
jedis.getrange("name", 0, -1);
//替换字符串部分内容
jedis.setrange("name", 0, "ab"); //Higgin--->abggin
//只有key不存在的时候才进行保存(key若已经存在不错任何改变,返回0,若不存在,则创建一个key并赋值,返回1)
long result=jedis.setnx("name", "abc");
System.out.println(result); //打印的是0
result=jedis.setnx("email","1234567@qq.com");
System.out.println(result); //打印的是1
//获取字符串的长度
long len=jedis.strlen("email");
System.out.println(len);
//设置多个key的值
jedis.mset("name","Higgin","age","20","sex","man");
//获取多个key的值
List<String> list= jedis.mget("name","age","sex");
//同时设置多个key,且key不存在(若有一个key已存在,则整个操作都无效,必须所有的key都不存在才有效)
jedis.msetnx("name","abc123","language","java","phone","1234567890"); //name之前已存在,所以该句代码操作完全无效
jedis.msetnx("language","java","phone","1234567890"); //两个key之前都不存在,所以都有效
//保存带有效期的key 单位:毫秒
jedis.psetex("expireKey1", 4000, "66666");
//保存带有效期的key 单位:秒
jedis.setex("expireKey2", 5, "777777");
//断开连接
jedis.quit();
}
}
|
|
|