一.Java连接Redis
1.加载驱动
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
2.创建连接
package com.zking.ssm.demo; import redis.clients.jedis.Jedis; /** * @author lz * @create 2023-11-03 17:00 */ public class demo1 { public static void main(String[] args) { //建立连接 Jedis jedis = new Jedis("localhost", 6379); //设置密码 jedis.auth("123456"); //测试是否连接 System.out.println(jedis.ping()); } }
二.Java存储数据,string,hash,list,set,zzet
1.string类
package com.zking.ssm.demo; import redis.clients.jedis.Jedis; /** * @author lz * @create 2023-11-03 17:00 */ public class demo2 { public static void main(String[] args) { //建立连接 Jedis jedis = new Jedis("localhost", 6379); //设置密码 jedis.auth("123456"); //增加 删除 修改 查询 // jedis.set("name","liubin");//增加 jedis.set("name","sb");//修改也就是增加覆盖 System.out.println(jedis.get("name"));//查看 jedis.setex("time",12,"要多少秒"); System.out.println(jedis.ttl("time")); } }
2. hash
package com.zking.ssm.demo; import redis.clients.jedis.Jedis; import java.util.HashMap; /** * @author lz * @create 2023-11-03 17:00 */ public class demo3 { public static void main(String[] args) { //建立连接 Jedis jedis = new Jedis("localhost", 6379); //设置密码 jedis.auth("123456"); //增加 删除 修改 查询 //无法使用那个 递归 jedis.hset("user","name","liubin"); jedis.hset("user","hoppy","play wzry"); jedis.hset("user","sex","nan"); //解决办法 通过封装实现 HashMap hashMap=new HashMap(); hashMap.put("name","yangxin"); hashMap.put("hoppy","guoba"); hashMap.put("sex","weizhi"); JedisUtils.setHashMap(jedis,"user",hashMap); } }
在其中通过一个工具类实现递归
package com.zking.ssm.demo; import redis.clients.jedis.Jedis; import java.util.Map; import java.util.Set; /** * @author lz * @create 2023-11-03 18:26 */ public class JedisUtils { public static void setHashMap(Jedis jedis , String key, Map<String,String> hashMap){ if (hashMap!=null && hashMap.size()>0){ Set<String> keys=hashMap.keySet(); for (String k:keys){ jedis.hset(key,k,hashMap.get(k)); } } } }
3.其他
Redis列表(List)
// # lpush key value1 value2 value3 #将一个或多个值插入到列表头部
jedis.lpush("java_hobby", "篮球", "足球", "羽毛球");
// # llen key #获取列表的长度
Long java_hobby_len = jedis.llen("java_hobby");
System.out.println(java_hobby_len);
// # lindex key index #根据索引获取列表中的元素
System.out.println(jedis.lindex("java_hobby", 0));
// # lrange key start sop #查看指定范围内的元素
System.out.println(jedis.lrange("java_hobby", 0, 1));
Redis集合(Set)
// # sadd key value1 [value2] #向集合添加一个或多个元素
jedis.sadd("java_set_user","张三","李四","王五","张三丰");
// # scard key #获取集合中的元素数量
System.out.println(jedis.scard("java_set_user"));
// # exists key #是否存在
System.out.println(jedis.exists("java_set_user"));
4.需要ta的地方
1.存储基本上不会变化的数据 ,然后这些数据又被重复使用