java中怎么redis的数据类型进行操作
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,java中怎么redis的数据类型进行操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、项目必备Jar包 re
千家信息网最后更新 2025年12月03日java中怎么redis的数据类型进行操作
java中怎么redis的数据类型进行操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
一、项目必备Jar包
redis.clients jedis 2.9.0 commons-pool commons-pool 1.6 junit junit 4.12
二、实例与结构
1)远程连接redis,清空数据库 new Jedis(redis服务连接IP,端口)
private static Jedis jedis; @Before public void before(){ jedis= JedisConnectUtil.getJedis(JedisTest.URL,63**); jedis.flushDB(); }2)String类型
@Test public void testString(){ //设置键 获取键 get set jedis.set("steve","stevetao"); System.out.println("设置后值:"+jedis.get("steve")); //追加键 append jedis.append("steve"," Is Good Man"); System.out.println("追加后值:"+jedis.get("steve")); //删除操作 del jedis.del("steve"); System.out.println("删除后值:"+jedis.get("steve")); //不存在就保存, setnx msetnx jedis.setnx("steve","stevetao"); System.out.println("设置后值:"+jedis.get("steve")); System.out.println("再次设置后值:"+jedis.setnx("steve","stevetao")); //截取字符串 substr System.out.println("截取后值:"+jedis.substr("steve",0,4)); //设置多个键值对 mset mget jedis.mset(new String[]{"zhangsan","123","lisi","1234"}); System.out.println("多次设置后值:"+jedis.mget("zhangsan","lisi")); //递增递减 incr decr incrby decrby jedis.incr("zhangsan"); jedis.decr("lisi"); System.out.println("递增递减后值:"+jedis.mget("zhangsan","lisi")); jedis.incrBy("zhangsan",6); jedis.decrBy("lisi",3); System.out.println("递增递减后值:"+jedis.mget("zhangsan","lisi")); }3)List类型
@Test public void testList(){ //尾添加 rpush 头添加 lpush jedis.lpush("books","java","C++","Ruby","Scala","python"); jedis.rpush("language","java","C++","Ruby","Scala","python"); // -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。 System.out.println("头添加后books值:"+jedis.lrange("books",0,-1)); System.out.println("尾添加后language值:"+jedis.lrange("language",0,-1)); //尾部删除 rpop 头部删除 lpop System.out.println("删除的值为:"+jedis.lpop("books")); System.out.println("删除的值为:"+jedis.rpop("language")); System.out.println("头部删除后books值:"+jedis.lrange("books",0,-1)); System.out.println("尾部删除后language值:"+jedis.lrange("language",0,-1)); //尾部删除并头添加 rpoplpush jedis.rpoplpush("language","books"); System.out.println("尾部删除并头添加后books值:"+jedis.lrange("books",0,-1)); System.out.println("尾部删除并头添加后language值:"+jedis.lrange("language",0,-1)); //区别: 只能给存在的list做添加,不能项lpush那样能新增list jedis.lpushx("books","php"); jedis.lpushx("book","php"); System.out.println("头添加后books值:"+jedis.lrange("books",0,-1)); System.out.println("头添加后book值:"+jedis.lrange("book",0,-1)); //获取集合长度 llen 指定索引的值 lindex 保留截取的值 ltrim System.out.println("books集合长度:"+jedis.llen("books")); System.out.println("books集合第二个数值:"+jedis.lindex("books",1)); jedis.ltrim("books",0,2); System.out.println("截取后books值:"+jedis.lrange("books",0,-1)); }4)Hash类型
@Test public void testHash(){ //适合字段:设值hset 取值hget(如果value是json字符串,类似保存对象) jedis.hset("student","name","zhangsan"); System.out.println("student中name的值为:"+jedis.hget("student","name")); //适合对象:设值hmset 取值hmget Map map = new HashMap(); map.put("name", "lisi"); map.put("age", "36"); jedis.hmset("teacher",map); System.out.println("teacher中name、age的值为:"+jedis.hmget("teacher","name","age")); //teacher是否存在键age hexists if(jedis.hexists("teacher","age")){ //给指定值增加4 hincrBy jedis.hincrBy("teacher","age",4); System.out.println("teacher中name、age的值为:"+jedis.hmget("teacher","name","age")); } //返回key的个数hlen 返回值hvals 返回键hkeys 键值对hgetAll jedis.hset("student","age","13"); jedis.hset("student","qq","2246920330"); jedis.hset("student","address","beijing"); System.out.println("student中键的个数为:"+jedis.hlen("student")); System.out.println("student中所有的键为:"+jedis.hkeys("student")); System.out.println("student中所有的值为:"+jedis.hvals("student")); System.out.println("student中所有的键值对为:"+jedis.hgetAll("student")); //删除 hdel jedis.hdel("student",new String[]{"address","qq","age"}); System.out.println("删除后,student中所有的键值对为:"+jedis.hgetAll("student")); } 5)Set类型
@Test public void testSet(){ //set中添加值 sadd 取值 smembers jedis.sadd("student","Jan","John","Steve","jack","lili","peter","Anna"); jedis.sadd("girls","Jan","lili","Alice","Jeanne","Anna"); System.out.println("排名不分先后:"+jedis.smembers("student")); //set个数 scard 是否存在某个值 sismember System.out.println("set集合的个数:"+jedis.scard("student")); System.out.println("student是否存在steve:"+jedis.sismember("student","Steve")); System.out.println("student是否存在stevetao:"+jedis.sismember("student","Stevetao")); //System.out.println(jedis.sscan("student","0").getResult()); //删除指定的值 srem 随机删除并返回 spop System.out.println("删除指定的值Steve:"+jedis.srem("student","Steve")); System.out.println("删除的值为:"+jedis.spop("student")); System.out.println("再次排名不分先后:"+jedis.smembers("student")); //集合操作 System.out.println("两个set的交集:"+jedis.sinter("student","girls")); System.out.println("两个set的并集:"+jedis.sunion("student","girls")); System.out.println("student对girls的差集:"+jedis.sdiff("student","girls")); System.out.println("girls对student的差集:"+jedis.sdiff("girls","student")); //集合操作并保存 jedis.sinterstore("jiaoji","student","girls"); jedis.sunionstore("bingji","student","girls"); jedis.sdiffstore("chaji","student","girls"); System.out.println("交集:"+jedis.smembers("jiaoji")); System.out.println("并集:"+jedis.smembers("bingji")); System.out.println("student对girls的差集:"+jedis.smembers("chaji")); }6)ZSet类型
@Test public void testZset(){ jedis.zadd("math",75,"Jim"); jedis.zadd("math",86,"Lina"); jedis.zadd("math",52,"Dive"); jedis.zadd("math",91,"Bobber"); System.out.println("有序集合的成员数:"+jedis.zcard("math")); System.out.println("有序集合的成员:"+jedis.zrevrangeByScore("math",100,0)); //返回set System.out.println("有序集合的成员:"+jedis.zrangeWithScores("math",0,100)); } 关于java中怎么redis的数据类型进行操作问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
类型
尾部
个数
数据
有序
差集
成员
问题
并头
两个
交集
元素
先后
再次
头部
字符
字符串
对象
更多
长度
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百度网络技术扣费
hp服务器ilo管理工具
游戏开发人员网络技术
公务员 业余软件开发
空气网络技术
微信公众号软件开发哪家靠谱
ibm服务器硬盘驱动
一个数据库一个服务器先安装哪个
山西证券软件开发工程师
数据库ddl语句历史记录
奶块为什么会有服务器维护
机动车数据库登记
栖霞平台软件开发企业
ibm数据库含
缺少2015db数据库
s12服务器怎么样
腾讯云 软件开发公司
ps4游戏数据库
什么软件开发公司好用
创业家具用互联网科技方式
中国大百科全书数据库网址
赣州导航软件开发
网络安全的英文是什么
如何制作网站的数据库表
数据库前面加号没了
mysql文件夹恢复数据库
二手服务器的利用
中控考勤机 系统数据库设置
联想服务器管理口登录
怎么建立自己的股票数据库