大家好,又见面了,我是你们的朋友全栈君。
jedis是redis的java版本的客户端实现,Jedis提供了完整Redis命令。
目录
maven依赖
测试是否连接redis
Jedis操作String
输出结果
Jedis操作List
输出结果
Jedis操作Map
输出结果
Jedis操作Set
输出结果
Jedis操作Zset
输出结果
Jedis事务操作
maven依赖
代码语言:javascript复制<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.7.0</version>
</dependency>
测试是否连接redis
代码语言:javascript复制Jedis jedis = new Jedis("127.0.0.1",6379);
System.out.println(jedis.ping());
输出结果为PONG,则说明连接成功,否则连接失败,控制台会有异常信息。
Jedis操作String
代码语言:javascript复制 jedis.set("user", "zhangsan");
// 获取存储的数据并输出
System.out.println("redis 存储的字符串为: " jedis.get("user"));
jedis.del("user");//删除
System.out.println("redis 存储的字符串为: " jedis.get("user"));
输出结果
代码语言:javascript复制redis 存储的字符串为: zhangsan
redis 存储的字符串为: null
Jedis操作List
代码语言:javascript复制 //存储数据到列表中
jedis.lpush("name-list", "zhangsan");
jedis.lpush("name-list", "lisi");
jedis.lpush("name-list", "wangwu");
// 获取存储的数据并输出
List<String> list = jedis.lrange("name-list", 0 ,2);
for(int i=0; i<list.size(); i ) {
System.out.println("列表项为: " list.get(i));
}
输出结果
代码语言:javascript复制列表项为: wangwu
列表项为: lisi
列表项为: zhangsan
Jedis操作Map
代码语言:javascript复制 Map<String,String> map=new HashMap<>();
map.put("username","zhangsan");
map.put("age","22");
map.put("sex","男");
//使用 hmset 设置值
jedis.hmset("user",map);
// hmget 获取值 取出user中的name 后面key可以跟多个
List<String> result=jedis.hmget("user","username","age","sex");
System.out.println(result);
jedis.hdel("user","age");//移除某项
输出结果
代码语言:javascript复制[zhangsan, 22, 男]
Jedis操作Set
代码语言:javascript复制 jedis.sadd("users","zhangsan");
jedis.sadd("users","lisi");
System.out.println(jedis.smembers("users"));//获取加入的value值
System.out.println(jedis.srem("users","zhangsan")); //移除某项
输出结果
代码语言:javascript复制[zhangsan, lisi]
Jedis操作Zset
代码语言:javascript复制 //存放数据 按score 进行排序
jedis.zadd("user",12,"lisi");
jedis.zadd("user",56,"zhangsan");
jedis.zadd("user",89,"wangwu");
jedis.zadd("user",58,"zhaoliu");
System.out.println(jedis.zrange("user",0,4));//获取加入user中的value
输出结果
代码语言:javascript复制[lisi, zhangsan, zhaoliu, wangwu]
Jedis事务操作
代码语言:javascript复制 Transaction multi = jedis.multi();
try {
multi.set("user","zhangsan");
multi.exec();//执行事务
}catch (Exception e){
multi.discard();//放弃事务
e.printStackTrace();
}finally {
jedis.close();//关闭连接
}
Jedis连接池操作
代码语言:javascript复制 //设置连接池的配置对象
JedisPoolConfig config = new JedisPoolConfig();
//设置连接池参数
config.setMaxTotal(30);
config.setMaxIdle(10);
//获取连接池对象
jedisPool = new JedisPool(config, "127.0.0.1", 6379);
try{
jedis = jedisPool.getResource();
}catch(Exception e){
e.printStackTrace();
}
Jedis对key的其它操作命令
代码语言:javascript复制jedis.flushDB();//清空数据库
jedis.close();//关闭连接
jedis.exists("key");//是否存在名为key的key
Set<String> keys = jedis.keys("*");//获取所有的key
jedis.type("key");查看key的类型
jedis.randomKey();//随机一个键值
jedis.rename("oldkey","newkey");//重命名key
jedis.dbSize();//返回当前数据库所有key的数目
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/195818.html原文链接:https://javaforall.cn