Java连接Redis
在java的体系下,有三个常用的Redis的客户端:jedis、Redisson和Lettuce。
Redis的客户端:
Jedis:其API提高了比较全面的Redis命令的支持,暴露了Redis比较底层的Redis的API,和Redis的命令保持一致。
Redisson:实现了分布式可扩展的Java的数据结构,提供了分布式相关的操作。比如分布式锁、分布式集合,但是和jedis相比,不支持字符串操作,不支持排序,事务等。
Lettuce:用于线程安全的同步,异步和响应,支持集群,哨兵等。spring中默认的Redis客户端。
Jedis介绍:
引入依赖:
通过maven管理
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.2</version>
</dependency>
使用
注意:获取Jedis实例
Jedis jedis = new Jedis("127.0.0.1", 6379);
//字符串操作
jedis.set("k2","v2");//插入数据
System.out.println(jedis.get("k2"));
jedis.setex("k3",20,"v3");
System.out.println(jedis.ttl("k3"));
//哈希操作
jedis.hset("hv1","f1","v1");
jedis.hget("hv1","f1");
//列表操作
jedis.rpush("rlist","v1");
jedis.lpush("llist","v2");
jedis.rpop("llist");
//集合操作,以sk开头
jedis.sadd("sset","s1");
jedis.smembers("ssex");
//有序集合 以z开头操作
jedis.zadd("zset1",12,"v1" );
jedis.zadd("zset2",12,"v1" );
//获取数据库
Long db = jedis.getDB();
//事务操作
jedis.multi();
jedis.watch("zset1");
Transaction multi = jedis.multi();
//取消事务
multi.discard();
//执行事务
multi.exec();
//执行事务并获取结果
multi.execGetResponse();