radis五个常用类型和工具类
参考 —>radis安装 win
1、radis工具类
package com.*;
import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.ResourceBundle;
public class redisUtil {
//得到值
ResourceBundle rb=ResourceBundle.getBundle("redis");
int maxAction = Integer.parseInt(rb.getString("redis.pool.maxActive"));
int maxIdle = Integer.parseInt(rb.getString("redis.pool.maxIdle"));
int maxWait = Integer.parseInt(rb.getString("redis.pool.maxWait"));
String ip = rb.getString("redis.ip");
int port =Integer.parseInt(rb.getString("redis.port"));
public Jedis getJedis(){
//2、创建连接池配置类
JedisPoolConfig poolConfig=new JedisPoolConfig();
// 设置最大连接数
poolConfig.setMaxTotal(maxAction);
// 设置最大空闲数
poolConfig.setMaxIdle(maxIdle);
// 设置超时时间
poolConfig.setMaxWaitMillis(maxWait);
//3、创建连接池类
JedisPool jedisPool=new JedisPool(poolConfig, ip, port);
//4、返回操作对象
return jedisPool.getResource();
}
}
2、radis五种类型
package com.hzh;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @author hzh
* @version 1.0
* @descripton:
* @date 2020/12/15 17:05
*/
public class redisDemo {
Jedis jedis;
@Before
public void before(){
jedis=new redisUtil().getJedis();
}
/**
* string 字符类型
*/
@Test
public void stringDemo(){
jedis.set("string","a");
jedis.append("strings","b");//如果存在此key则追加,否则新增key和值
System.out.println(jedis.get("string"));//根据key查出值
System.out.println(jedis.get("strings"));//根据key查出值
System.out.println(jedis.exists("string"));//根据key判断是否存在
}
/**
* hash哈希类型
*/
@Test
public void hashDemo(){
Map<String,String> map=new HashMap<>();
map.put("name","name1");
map.put("sex","Sex1");
jedis.hmset("map",map);
// jedis.hdel("map","name");
System.out.println(jedis.hmget("map","sex","name"));//查询map里的key值
System.out.println(jedis.hlen("map"));//查询map的长度
System.out.println(jedis.hkeys("map"));//查询map所有key
System.out.println(jedis.hvals("map"));//查询map所有值
}
/**
* list列表类型
*/
@Test
public void listDemo(){
jedis.del("J2EE");
jedis.lpush("J2EE","spring");
jedis.lpush("J2EE","struts");
jedis.lpush("J2EE","hibernate");
jedis.lset("J2EE",1,"update");//根据key里的索引修改值
System.out.println(jedis.llen("J2EE"));//得到key里的长度
System.out.println(jedis.lrange("J2EE",0,-1));//根据key得到所有值
}
/**
* set 集合类型
*/
@Test
public void setDemo(){
jedis.sadd("set","123");
jedis.sadd("set","456");
jedis.sadd("set2","321");
jedis.sadd("set2","654");
System.out.println(jedis.smembers("set"));//根据key查出所有的值
System.out.println(jedis.sismember("set","123"));//判断值是否是set集合里的元素
System.out.println(jedis.scard("set"));//返回key的长度
jedis.sunionstore("sets","set","set2");//把另一个集合的值存入新的集合
System.out.println(jedis.smembers("sets"));//根据key查出所有的值
Set<String> sinter = jedis.sinter("set", "sets");//查出两个集合相同的值
System.out.println("sinter = " + sinter);
//查出两个集合相同的值并赋值到新集合里
Long sinterstore = jedis.sinterstore("setss","set","sets");
System.out.println("共同好友数量:"+sinterstore);
System.out.println("user3="+jedis.smembers("setss"));
}
/**
* zset有序集合类型
*/
@Test
public void zsetDemo(){
jedis.zadd("zset",10,"html");
jedis.zadd("zset",50,"css");
jedis.zadd("zset",70,"java");
jedis.zadd("zset",99,"js");
System.out.println(jedis.zscore("zset", "js"));//根据值查出key
System.out.println(jedis.zrange("zset",0,-1));//从低到高排序查出值
jedis.zrevrange("zset",0,-1);//从高到低排序查出值
System.out.println(jedis.zrangeByScore("zset", 20, 90));//根据key范围查询
}
}