使用Jedis操作redis
【摘要】 使用Jedis操作redis
Jedis
Redis的Java生态的客户端当中包含Jedis、Redisson、Lettuce,不同的客户端具备不同的能力是使用方式.
Jedis 是 Redis 官方首选的 Java 客户端开发包。
Jedis客户端同时支持单机模式、分片模式、集群模式的访问模式,通过构建Jedis类对象实现单机模式下的数据访问,通过构建ShardedJedis类对象实现分片模式的数据访问,通过构建JedisCluster类对象实现集群模式下的数据访问。
jedis是一款java操作redis数据库的工具,性质有点类似于jdbc
Jedis的特性和原理
https://baijiahao.baidu.com/s?id=1715292157796722813&wfr=spider&for=pc
引入依赖
<!-- 导入jedisd的包 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.2.0</version>
</dependency>
<!-- fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
Jedis的简单操作
package com.promsing.jedis;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* Jedis的Demo类-测试连接
*
* @author Promsing(张有博)
* @version 1.0.0
* @since 2022/5/3 - 21:39
*/
public class JedisDemo1 {
public static void main(String[] args) {
//测试连接
Jedis jedis = new Jedis("127.0.0.1", 6379);
String ping = jedis.ping();
System.out.println(ping);
}
@Test
public void keys() {
Jedis jedis = new Jedis("127.0.0.1", 6379);
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
}
}
/**
* 过期时间与判断是否存在
*
* @throws InterruptedException
*/
@Test
public void expire() throws InterruptedException {
Jedis jedis = new Jedis("127.0.0.1", 6379);
String set = jedis.set("userName", "promsing");
jedis.expire("userName", 500);
String userName = jedis.get("userName");
System.out.println(userName);
//休眠10s
Thread.sleep(10000);
//过期时间
Long ttl = jedis.ttl("userName");
System.out.println(ttl);
//判断是否存在
Boolean sk = jedis.exists("sk");
System.out.println(sk);
}
/**
* 存取多个值
*/
@Test
public void mset() {
Jedis jedis = new Jedis("127.0.0.1", 6379);
String set = jedis.mset("userName", "promsing", "userage", "18", "usersex", "男");
List<String> mget = jedis.mget("userName", "userage", "usersex");
for (String s : mget) {
System.out.println(s);
}
}
/**
* 操作集合
*/
@Test
public void list() {
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.del("mylist");
//记住管道的概念,双向链表
jedis.lpush("mylist", "张飒", "李四", "王五", "赵六");
jedis.rpush("mylist", "刘琦", "孙八");
List<String> mylist = jedis.lrange("mylist", 0, -1);
for (String s : mylist) {
System.out.println(s);
}
}
@Test
public void set() {
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.del("mySet");
//
jedis.sadd("mySet", "张飒", "李四", "王五", "赵六");
jedis.sadd("mySet", "李四", "孙八");
Set<String> mySet = jedis.smembers("mySet");
for (String s : mySet) {
System.out.println(s);
}
//删除
Long srem = jedis.srem("mySet", "孙八");
}
@Test
public void hash() {
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.del("myHash");
//
jedis.hset("city","shanghai","上海");
jedis.hset("city","beijing","北京");
jedis.hset("city","shenzhen","深圳");
jedis.hset("city","tianjing","天津");
String hget = jedis.hget("city", "beijing");
System.out.println(hget);
Map<String, String> map = jedis.hgetAll("city");
for (Map.Entry<String, String> stringStringEntry : map.entrySet()) {
System.out.println(stringStringEntry.getKey());
System.out.println(stringStringEntry.getValue());
}
}
@Test
public void zset() {
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.zadd("china",100,"上海");
jedis.zadd("china",400,"北京");
jedis.zadd("china",200,"深圳");
jedis.zadd("china",500,"天津");
Set<String> china = jedis.zrange("china", 0, -1);
System.out.println(china);
}
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)