Java学习,利用IDEA开发工具连接redis
Idea连接redis及Jedis数据操作
注意是否开启了redis服务!!!
1、打开虚拟机终端,查看虚拟机防火墙是否关闭
查看防火墙当前状态命令:
$sudo ufw status
我的是默认关闭的!
如果你的是激活状态需要自己手动关闭防火墙,不然虚拟机会阻止你的连接
关闭防火墙命令:
$ sudo ufw disable
2、打开redis.conf文件,需要修改里面的一些配置
第一:redis.conf中注释掉bind 127.0.0.1(注释在前面加#)比如我的
修改完成后可以查看你的修改是否成功
输入命令:$ ps -ef|grep redis
此时bind的值配置为空代表会接受所有来自于可用网络接口的连接。
第二:把redis.conf文件中的protected-mode yes==>yes改为no
3、查看本虚拟机ip地址
查看命令:
$ ifconfig
如果输入ifconfg报错,可能没有安装noot-tools工具,输入以下命令安装即可
$sudo apt install net-tools
4、打开Idea创建一个maven项目:
1、首先导入pom.xml文件依赖
1 <dependencies> 2 <dependency> 3 <groupId>redis.clients</groupId> 4 <artifactId>jedis</artifactId> 5 <version>3.2.0</version> 6 </dependency> 7 <dependency> 8 <groupId>junit</groupId> 9 <artifactId>junit</artifactId> 10 <version>4.12</version> 11 <scope>compile</scope> 12 </dependency> 13 </dependencies>
2、在创建一个Demo01类开始测试程序的编写!
代码如下:
1 public class Demo01 { 2 public static void main(String[] args) { 3 // 创建jedis对象,连接redis服务 4 Jedis jedis=new Jedis("172.0.0.1",6379);//虚拟机ip,默认redis端口号 5 System.out.println(jedis.ping());//打印输出ping 6 jedis.close();//// 关闭jedis,释放资源 7 } 8 }
运行demo01,当控制台输出PONG的时候代表连接成功了!
5、IDEA中jedis数据操作(五种数据类型)
在此maven项目中在创建一个JedisTest01类
1、 操作String字符串:
1 public class JedisTest01 { 2 //操作字符串 3 @Test 4 public void demo1(){ 5 Jedis jedis=new Jedis("127.0.0.1",6379); 6 //设置单个数据 7 //添加数据 8 jedis.set("name","luck"); 9 //获取数据 10 String name=jedis.get("name"); 11 System.out.println(name); 12 //设置多个数据 13 jedis.mset("k1","v1","k2","v2"); 14 List<String> mget=jedis.mget("k1","k2"); 15 // System.out.println(mget); 16 17 Set<String> keys=jedis.keys("*"); 18 for (String key:keys){ 19 // System.out.println(key); 20 } 21 jedis.close(); //关闭jedis,释放资源 22 } 23 }
2、操作list
1 @Test 2 public void demo2(){ 3 Jedis jedis=new Jedis("127.0.0.1",6379); 4 jedis.lpush("key1","luck","mary","jack"); 5 List<String> values=jedis.lrange("key1",0,-1); 6 System.out.println(values); 7 jedis.close(); 8 }
3、操作Set
1 @Test 2 public void demo3(){ 3 Jedis jedis=new Jedis("127.0.0.1",6379); 4 jedis.sadd("names","刘德华"); 5 jedis.sadd("names","刘德华真的帅!"); 6 Set<String> names=jedis.smembers("names"); 7 System.out.println(names); 8 jedis.close(); 9 }
4、操作SortedSet有序集合
1 @Test 2 public void demo4(){ 3 Jedis jedis=new Jedis("127.0.0.1",6379); 4 Map<String,Double> stuMap = new HashMap<>(); 5 stuMap.put("zhangsan",95D); 6 stuMap.put("lisi",92D); 7 stuMap.put("wangwu",100D); 8 System.out.println(jedis.zadd("stu", stuMap)); // 传对象 9 System.out.println(jedis.zrange("stu", 0, 2)); // 遍历 10 System.out.println(jedis.zrevrange("stu", 0, 2)); // 反转遍历 11 12 }
5、操作hash
1 @Test 2 public void demo5(){ 3 Jedis jedis=new Jedis("127.0.0.1",6379); 4 jedis.hset("person","age","20"); 5 String get=jedis.hget("person","age" ); 6 System.out.println(get); 7 jedis.close(); 8 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通