Redis系列(四)——JAVA连接使用redis(Jedis)

时间:2022-06-19 14:45:38

Jedis连接操作redis

1.新建项目redis_test,准备好jedis-2.9.0.jar,导入jar。

Redis系列(四)——JAVA连接使用redis(Jedis)

2.ConnectRedis.java类代码

public class ConnectRedis {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1", 6379);//连接服务器,
jedis.auth("yoostar403");//密码登录,没有密码可以跳过这一步
System.out.println("connection success");
jedis.set("test", "t11");
System.out.println(jedis.get("test"));
}
}

Redis系列(四)——JAVA连接使用redis(Jedis)

Jedis常用数据类型的基本操作

/**
* redis对String、list、set、sortset、hash、key的基本操作
*/
public class ConnectRedis {
private static Jedis jedis;
public static void main(String[] args) {
jedis = new Jedis("127.0.0.1", 6379);//连接服务器,
jedis.auth("yoostar403");//密码登录,没有密码可以跳过这一步
System.out.println("connection success");
ConnectRedis redis = new ConnectRedis();
//redis.str();
redis.list();
redis.set();
redis.sortedset();
redis.hash();
redis.keys();
}

/**
* string的常用操作
*/
public void str(){
jedis.set("test", "t11");
System.out.println(jedis.get("test"));
jedis.mset("name1", "张三", "name2", "李四", "name3", "王五");//操纵多个类
System.out.println(jedis.mget("name1", "name2", "name3"));
System.out.println("新增key303,并指定过期时间为2秒"+jedis.setex("key303", 2, "key303-2second"));
System.out.println("获取key303对应的值:"+jedis.get("key303"));
try{
Thread.sleep(3000);
}
catch (InterruptedException e){
}
System.out.println("3秒之后,获取key303对应的值:"+jedis.get("key303"));
}

/**
* list常用操作,redis的list的第一个,其实是最后压入的一个,有点像栈
* @param jedis
*/
public void list() {
jedis.ltrim("list", 1, 0);//ltrim(key, start, stop),list保留start到stop之间的元素,当start小于stop时,该list数据全部删除
jedis.lpush("list", "node1", "node2", "node3", "node4");
List<String> list = jedis.lrange("list", 0,-1);
System.out.println("list所有元素:" + list);
jedis.lset("list", 0, "修改第一个值");//修改单个元素
System.out.println("list修改后的所有元素:" +jedis.lrange("list", 0,-1));
//排序
SortingParams sortingParameters = new SortingParams();
sortingParameters.alpha();//加上字符排序参数
List<String> slist1 = jedis.sort("list", sortingParameters);
System.out.print("list排序后所有元素:" + slist1);
//分页
sortingParameters = new SortingParams();
sortingParameters.alpha();
sortingParameters.limit(0, 2);
slist1 = jedis.sort("list", sortingParameters);
System.out.println("list分页排序后元素:" + slist1);
}

/**
* set的基本操作
*/
public void set() {
jedis.sadd("set1", "s1", "s2", "s2", "s3", "双击666");
System.out.print("set中所有元素:" + jedis.smembers("set1"));
//删除set中元素
jedis.srem("set1", "s2");
System.out.print("set删除s2后所有元素:" + jedis.smembers("set1"));
jedis.sadd("set2", "s1", "s2", "s3", "s4");
System.out.println("set1和set2的交集:" + jedis.sinter("set1", "set2"));
System.out.println("set1和set2的并集:" + jedis.sunion("set1", "set2"));
System.out.println("set1和set2的差集:" + jedis.sdiff("set1", "set2"));//s1中有,s2中没有
}

/**
* sortedset的基本操作,sortedset是排序set,实现类是TreeSet
*/
public void sortedset() {
jedis.zadd("sortSet1", 2, "set2");
jedis.zadd("sortSet1", 1, "set1");
jedis.zadd("sortSet1", 4, "set4");
jedis.zadd("sortSet1", 2, "set3");
System.out.println("sortSet1所有元素:" + jedis.zrange("sortSet1", 0, -1));
}

/**
* map操作
*/
public void hash() {
jedis.hset("hash1", "key001", "value001");
jedis.hset("hash1", "key002", "value002");
jedis.hset("hash1", "key003", "value003");
jedis.hset("hash1", "key004", "value004");
System.out.println("hash1所有的key:" + jedis.hkeys("hash1"));
System.out.println("hash1所有的值:" + jedis.hvals("hash1"));
System.out.println("hash1 key为\"003\"的值 : " + jedis.hget("hash1", "key003"));
}

/**
* key的常用操作
* @param jedis
*/
public void keys() {
//判断key是否存在
System.out.println("key \"name\" is exit :" + jedis.exists("name"));
//查询所有key
Set<String> sets = jedis.keys("*");
System.out.println("redis所有的key:" + sets);
}
}
Redis系列(四)——JAVA连接使用redis(Jedis)