java中怎么redis的数据类型进行操作
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,java中怎么redis的数据类型进行操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、项目必备Jar包 re
千家信息网最后更新 2025年02月07日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 Mapmap = 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)); //返回setSystem.out.println("有序集合的成员:"+jedis.zrangeWithScores("math",0,100)); }
关于java中怎么redis的数据类型进行操作问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
类型
尾部
个数
数据
有序
差集
成员
问题
并头
两个
交集
元素
先后
再次
头部
字符
字符串
对象
更多
长度
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云服务器提供
软件开发项目各阶段
诛仙数据库资料
知网研学数据库文件缺失
查询数据库中每个表的总行数
华为服务器是由哪些硬件构成的
dos可以修改数据库吗
云桌面服务器软件
构件网络安全的短期目标
欧洲网络安全评估报告
我的世界基岩版服务器皮肤不正确
互联网人士体验科技图
两个服务器文件夹数据定时同步
网络安全宣传举措
2016万方数据库免费
戴尔 塔式服务器 怎么样
网络安全技术贾铁军课后答案
山东特亿宝互联网科技公司官网
湖北辰鑫科技互联网
互联网对中国科技的影响
关于企业网络安全的介绍
诛仙数据库资料
云服务器怎么使用鼠标连点器
网络安全法的使用范围
南通政务软件开发技术
小学网络安全知识网络竞赛
网络安全发言稿100字
2012 服务器系统密钥
360的网络安全有多厉害
电脑无法配置dns服务器