【Redis】Java连接Redis及Java操作Redis常用数据类型

编程入门 行业动态 更新时间:2024-10-12 05:45:00

【Redis】Java连接Redis及Java操作Redis常用<a href=https://www.elefans.com/category/jswz/34/1768302.html style=数据类型"/>

【Redis】Java连接Redis及Java操作Redis常用数据类型

一,Java连接Redis

1.1 连接前端服务器

打开RedisDesktopManager并连接Redis

不知道可看我上一篇文章:

【Redis】安装(Linux&window)及Redis的常用命令-CSDN博客

1.2 后端依赖

导入相关的jedis依赖

注意:要在dependencies标签中导入

pom.xml:

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version>
</dependency>

1.3 Java连接

创建一个类,里面写连接Redis的相关代码

public class Redis {public static void main(String[] args) {//建立与数据库连接Jedis jedis=  new Jedis("localhost",6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());}
}

如果运行显示PONG即可表明连接成功 

二,Java操作Redis常用类型数据

2.1 Redis字符串(String)

package com.zking.ssmmon;import redis.clients.jedis.Jedis;/*** @Name BingBing* @company zking cy* @create 2023-11-03-18:04*/
public class Redis_ml {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//String的相关操作//连接第七个数据库jedis.select(3);//        存值jedis.set("uname","帅哥");//        取值System.out.println(jedis.get("uname"));//        设置该hobby多久后自动删除jedis.setex("hobby",25,"game");//        查看剩余时间System.out.println(jedis.ttl("hobby"));//        修改值jedis.set("uname","美男子");System.out.println(jedis.get("uname"));//        删除值//  System.out.println(jedis.del("uname"));}
}

2.2 Redis哈希(Hash)

package com.zking.ssmmon;import redis.clients.jedis.Jedis;/*** @Name BingBing* @company zking cy* @create 2023-11-03-18:04*/
public class Redis_ml {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//String的相关操作//连接第七个数据库jedis.select(3);//      存值
//      jedis.hset("man","sname","帅哥");
//      jedis.hset("man","sage","18");
//      jedis.hset("man","sex","男");
//      取指定的字段值
//      System.out.println(jedis.hget("man", "sname"));
//      删除值
//      System.out.println(jedis.hdel("man","sage"));
//      查询指定的key的所有字段
//      System.out.println(jedis.hgetAll("man"));
//      查询指定的key是否存在
//      System.out.println(jedis.hexists("man", "sname"));
//      System.out.println(jedis.hexists("man", "sage"));
//      获取指定key的长度
//        System.out.println(jedis.hlen("man"));}
}

2.3 Redis列表(List)

package com.zking.ssmmon;import redis.clients.jedis.Jedis;/*** @Name BingBing* @company zking cy* @create 2023-11-03-18:04*/
public class Redis_ml {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//String的相关操作//连接第七个数据库jedis.select(3);//        lpush key value1 value2 value3          将一个或多个值插入到列表头部jedis.lpush("List_hobby", "唱", "跳", "rap", "篮球");
//        llen key                                获取列表的长度System.out.println(jedis.llen("List_hobby"));
//        lindex key index                        根据索引获取列表中的元素System.out.println(jedis.lindex("List_hobby", 0));
//        lrange key start sop                    查看指定范围内的元素System.out.println(jedis.lrange("List_hobby", 0, 2));}
}

2.4 Redis集合(Set)

package com.zking.ssmmon;import redis.clients.jedis.Jedis;import java.util.Set;/*** @Name BingBing* @company zking cy* @create 2023-11-03-18:04*/
public class Redis_ml {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//String的相关操作//连接第七个数据库jedis.select(3);//        Redis集合(Set)//       sadd key value1 [value2]                向集合添加一个或多个元素jedis.sadd("set_user", "哈巴狗", "花猪", "牛马", "joker");
//        scard key                               获取集合中的元素数量System.out.println(jedis.scard("set_user"));
//        exists key                              是否存在System.out.println(jedis.exists("set_user"));}
}

2.5 Redis有序集合(Sorted Set)

package com.zking.ssmmon;import redis.clients.jedis.Jedis;import java.util.HashMap;
import java.util.Map;
import java.util.Set;/*** @Name BingBing* @company zking cy* @create 2023-11-03-18:04*/
public class Redis_ml {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//String的相关操作//连接第七个数据库jedis.select(3);//        5、Redis有序集合(Sorted Set)
// -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。jedis.zadd("mysort", 1.0, "三国演义");jedis.zadd("mysort", 2.0, "西游记");jedis.zadd("mysort", 3.0, "水浒传");jedis.zadd("mysort", 4.0, "红楼梦");Map<String, Double> map = new HashMap<>();map.put("mutouliu", 5.0);jedis.zadd("mysort", map);//正序排列Set<String> mysort = jedis.zrange("mysort", 0, -1);System.out.println(mysort);//倒序排列Set<String> mysort1 = jedis.zrange("mysort", -1, 0);System.out.println(mysort1);//        命令用于计算集合中元素的数量System.out.println(jedis.zcard("mysort"));
//        命令用于计算有序集合中指定分数区间的成员数量System.out.println(jedis.zcount("mysort", 0, 4));
//        命令在计算有序集合中指定字典区间内成员数量。System.out.println(jedis.zlexcount("mysort", "-", "+"));}
}

三,Redis在项目应用

  1. 缓存:Redis作为一种内存数据库,常用于缓存常用数据,如数据库查询结果、API响应等。通过将数据存储在Redis中,可以快速获取数据,提高系统的性能和响应速度。

  2. 会话管理:Redis可用于存储会话数据,特别是在分布式系统中,可以将用户的会话数据存储在Redis中,以实现多个服务节点之间的会话共享。

  3. 发布/订阅系统:Redis具有发布/订阅功能,可以用于构建实时消息系统。通过发布/订阅功能,可以将消息发送到频道,并由订阅者实时接收并处理消息。

  4. 排行榜/计数器:Redis提供了有序集合、计数器等功能,可以用于实现排行榜、计数器等应用场景。比如实时热门文章排行榜、用户关注数计数器等应用。

  5. 分布式锁:Redis提供了原子操作的能力,可以用于实现分布式锁。在分布式系统中,可以使用Redis的原子操作实现互斥锁,保证在同一时间只有一个进程能够访问共享资源,确保数据的一致性和并发安全性。

  6. 消息队列:Redis的列表结构非常适合用作消息队列。可以将待处理的任务作为消息发布到Redis的列表中,然后通过消费者逐一处理这些任务。

  7. 地理位置的存储与查询:Redis提供了地理位置相关的API,可以将地理信息与特定对象关联起来,并进行查询

    总的来说,Redis在项目中的主要应用包括缓存、会话管理、发布/订阅系统、排行榜/计数器、分布式锁、消息队列以及地理位置的存储与查询等方面。这些应用可以提高系统性能、实现实时消息传递和数据共享等功能。

更多推荐

【Redis】Java连接Redis及Java操作Redis常用数据类型

本文发布于:2023-11-17 00:40:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1638061.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据类型   常用   操作   Redis   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!