怎么使用Java来操作Redis数据库
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章将为大家详细讲解有关怎么使用Java来操作Redis数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Redis 是一个基于内存的数据库,与 Redis
千家信息网最后更新 2025年01月20日怎么使用Java来操作Redis数据库
这篇文章将为大家详细讲解有关怎么使用Java来操作Redis数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Redis 是一个基于内存的数据库,与 Redis 进行交互,能够极大地提高运行的速度。
首先让我们创建一个普通的Maven工程,添加相应的依赖
redis.clients jedis 3.3.0 com.alibaba fastjson 1.2.72
然后我们就可以是使用了
测试连接(这里我用的是本地的reids服务)
//定义主机号、端口号 HostAndPort hostAndPort = new HostAndPort("127.0.0.1",6379); //连接redis服务 Jedis jedis=new Jedis(hostAndPort); //ping一下 System.out.println("服务正在运行: "+jedis.ping()) //关闭 jedis.close();
控制台输出PONG代表连接成功
接下来让我们看看Redis的五大数据类型的基础操作
String类型
System.out.println("存入一个数据:"+jedis.set("age", "20")); System.out.println("存入多个数据:"+jedis.mset("name","zhangsan","sex","男")); System.out.println("获取一个数据:"+jedis.get("age")); System.out.println("获取多个数据:"+jedis.mget("name","sex")); System.out.println("将指定的字符串拼接在指定数据之后:"+jedis.append("name",",你好")); System.out.println("查看某个数据的长度:"+jedis.strlen("name")); System.out.println("修改某个数据的值并返回修改之前的值:"+jedis.getSet("name", "lisi")); System.out.println("判断某个数据是否存在:"+jedis.exists("name")); System.out.println("为某个数据设置失效时间(单位/s):"+jedis.expire("name", 20)); System.out.println("查看某个数据的剩余生存时间(s):"+jedis.ttl("name")); System.out.println("删除一个或多个数据:"+jedis.del("name","sex"));
查看打印结果
Set类型
System.out.println("向集合添加一个或多个元素:"+jedis.sadd("key1", "v1","v2","v3")); System.out.println("获取集合的元素个数:"+jedis.scard("key1")); System.out.println("返回集合中的所有元素:"+jedis.smembers("key1")); System.out.println("判断指定元素是否存在集合中:"+jedis.sismember("key1", "v1")); System.out.println("移除集合中指定的元素:"+jedis.srem("key1", "v3")); //这里我们在创建一个集合 System.out.println("向集合添加一个或多个元素:"+jedis.sadd("key2", "v2","v3","v4")); System.out.println("返回集合key1与key2的差集:"+jedis.sdiff("key1","key2")); System.out.println("返回集合key1与key2的交集:"+jedis.sinter("key1","key2")); System.out.println("返回集合key1与key2的并集:"+jedis.sunion("key1","key2"));
查看结果
Hash类型
Map map=new HashMap<>(); map.put("name", "zhangsan"); map.put("age", "20"); map.put("sex", "男"); System.out.println("创建一个哈希表存储一个用户对象:"+jedis.hmset("user",map)); System.out.println("获取哈希表中用户的name:"+jedis.hget("user", "name")); System.out.println("查看哈希表中,指定的字段是否存在:"+jedis.hexists("user", "name")); System.out.println("获取哈希表中字段的数量:"+jedis.hlen("user")); System.out.println("获取哈希表中所有字段:"+jedis.hkeys("user")); System.out.println("获取哈希表中所有字段的值:"+jedis.hvals("user")); System.out.println("获取在哈希表中的所有字段和值:"+jedis.hgetAll("user")); System.out.println("删除一个或多个哈希表字段:"+jedis.hdel("user","name","age","sex"));
查看结果
List类型
System.out.println("将一个值插入到列表头部(可以多个值):"+jedis.lpush("city","北京","上海")); System.out.println("将一个值插入到列表尾部(可以多个值):"+jedis.rpush("city","济南","南京")); System.out.println("获取列表指定范围内的元素:"+jedis.lrange("city", 0, -1)); System.out.println("获取列表长度:"+jedis.llen("city")); System.out.println("移出列表的第一个元素,并输出值:"+jedis.lpop("city")); System.out.println("移除列表的最后一个元素,并输出值:"+jedis.rpop("city")); System.out.println("修改列表中指定索引位置元素的值:"+jedis.lset("city", 0, "西藏")); System.out.println("让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除:"+jedis.ltrim("city", 1, 2));
查看结果
Sorted Set类型
Map scoreMembers=new HashMap<>(); scoreMembers.put("member1", 1D); scoreMembers.put("member2", 2D); scoreMembers.put("member3", 3D); System.out.println("向有序集合添加一个或多个元素,或者更新已存在元素的分数:"+jedis.zadd("member", scoreMembers)); System.out.println("获取有序集合的元素个数:"+jedis.zcard("member")); System.out.println("计算在有序集合中指定区间([socre1,socre2])分数的成员数:"+jedis.zcount("member", 0D, 3D)); System.out.println("通过索引区间返回有序集合指定区间内的元素,从低到高:"+jedis.zrange("member", 0,-1)); System.out.println("返回索引区间返回有序集合指定区间内的元素,从高到低:"+jedis.zrevrange("member", 0,-1)); System.out.println("返回有序集中指定元素的分数值:"+jedis.zscore("member", "member1")); System.out.println("移除有序集合中的一个或多个元素:"+jedis.zrem("member", "member1","member2")); System.out.println("返回有序集合中指定元素的索引:"+jedis.zrank("member", "member3"));
查看结果
最后我们简单看看如何操作数据库
System.out.println("清空当前数据库:"+jedis.flushDB()); System.out.println("清空所有数据库:"+jedis.flushAll()); System.out.println("查看当前数据库存储数据的多少:"+jedis.dbSize()); Set keys = jedis.keys("*"); System.out.println("查看当前数据库存储所有键值:"+keys); System.out.println("选择某个数据库:"+jedis.select(0));
查看结果
其实Redis还有三种特殊存储类型
Geospatial
主要用于存储地理位置信息,并对存储的信息进行操作,基于Sorts Set有序集合
HyperLogLog
是用来做基数统计的
Bitmap
通过操作二进制(0,1)来记录只有两种状态的信息
关于"怎么使用Java来操作Redis数据库"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
数据
元素
多个
数据库
有序
哈希
区间
类型
字段
结果
存储
中指
索引
信息
篇文章
服务
输出
个数
位置
分数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京均和网络技术是传销吗
全国首家软件开发系统
青丘狐传说为什么连不上服务器
flybase数据库
网络安全有关的课题
贵阳小象科技互联网有限公司
服务器超级村民怎么召唤
百旺税控盘数据库助手
PLC如何做一个时间数据库
重庆编程软件开发中心
大连软件开发还招工
刷脸支付管理软件开发
个体户网络技术服务
苹果电脑能用来软件开发吗
无锡电脑软件开发公司
手游作弊软件开发
sql长度超过数据库限制
squad怎么组队进服务器
网络安全法和反恐怖主义
柳州数据库修复
海外服务器备案
局域网工作组有服务器吗
海康威视总控管理服务器
软件开发里的项目交付过程
赣州余生网络技术有限公司
精灵圣地的服务器在更新什么
咸宁网络安全企业
飞书办公显示服务器异常
数据库文件不同步
网络安全宣传视频短片大学生