Java操作Redis
环境准备
1 引入依赖
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.3.0</version>
</dependency>
创建jedis对象并测试
public class TestRedis {
public static void main(String[] args) {
Jedis jedis = new Jedis("39.99.236.216",7000);
//选择使用一个库 默认使用0号库
jedis.select(0);
//获取redis中所有key信息
Set<String> keys = jedis.keys("*");
keys.forEach(key -> System.out.println("key = " + key));
//释放资源
jedis.close();
}
}
结果如下:
操作key相关API
public class testKey {
private Jedis jedis;
@Before
public void before(){
//每次一开始为成员变量jedis复制
this.jedis = new Jedis("39.99.236.216",7000);
}
@After
public void after(String s){
jedis.close();
}
//测试key相关
@Test
public void testKeys(){
//删除一个或多个key
jedis.del("set4","set5");
//检查key是否存在
Long exists = jedis.exists("zset1", "maps");
System.out.println(exists);
//设置生存时间
jedis.expire("set3",100);
//查询剩余时间
Long set3 = jedis.ttl("set3");
System.out.println(set3);
//获得随机key
String s = jedis.randomKey();
System.out.println(s);
//给key改名
jedis.rename("list1","lists");
//查询key的类型
String lists = jedis.type("lists");
System.out.println(lists);
}
}
操作String相关API
//测试String相关
@Test
public void testKeys(){
//设置一个key/value
//jedis.set("string1","aaa");
//根据key获得对应的value
//String s = jedis.get("string1");
//System.out.println(s);
//设置过个key/value
//jedis.mset("string2","bbb","string3","ccc");
//获取多个key的value
//List<String> mget = jedis.mget("string1", "string2", "string3");
//mget.forEach(get -> System.out.println("get = " + get));
//获得原始key值,同时设置新值
//String set = jedis.getSet("string1", "ddd");
//System.out.println(set);
//获得对应key存储value的长度
//Long string1 = jedis.strlen("string1");
//System.out.println(string1);
//为对应的key的value追加内容
//jedis.append("string1","abc");
//截取value的内容
//String string1 = jedis.getrange("string1", 0, -1);
//System.out.println(string1);
//设置一个key存活的有效期
//jedis.setex("string5",100,"eee");
//Long string5 = jedis.ttl("string5");
//System.out.println(string5);
//数值类型的-1操作
//Long age = jedis.decr("age");
//System.out.println(age);
//根据提供的数据进行减法操作
//Long age1 = jedis.decrBy("age", 10);
//System.out.println(age1);
}
操作List相关API
//测试String相关
@Test
public void testKeys(){
//将某个值加入到一个key列表头部
//jedis.lpush("listA","aaa","bbb","ccc");
//将某个值加入到一个key列表末尾
//jedis.rpush("listA","ddd","eee","fff");
//返回移除列表的第一个元素
//jedis.lpop("listA");
//返回移除列表的最后一个元素
//jedis.rpop("listA");
//获取某一个下标区间内的元素
//List<String> listA = jedis.lrange("listA", 0, 1);
//listA.forEach(A -> System.out.println("A = " + A));
//获取列表元素个数
//Long listA = jedis.llen("listA");
//System.out.println(listA);
//设置某一个指定索引的值(索引必须存在)
//String lset = jedis.lset("listA", 0, "hhh");
//获取某一个指定索引位置的元素
//String listA = jedis.lindex("listA", 0);
//System.out.println(listA);
//删除重复元素
//jedis.lrem("listA",2,"hhh");
//保留列表中特定区间内的元素
//jedis.ltrim("listA",0,1);
//在某一个元素之前,之后插入新元素
//jedis.linsert("listA",ListPosition.BEFORE,"sss","fff");
}