目录
使用Jedis的步骤:
-
导入Jedis的maven坐标:
<!--jedis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.7.0</version> </dependency> <!--单元测试--> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.7.0</version> <scope>test</scope> </dependency>
-
建立连接-新建一个单元测试类:
private Jedis jedis; @BeforeEach void setUp() { //1. 建立连接 jedis = new Jedis("120.0.0.1", 6379); //2. 设置密码 jedis.auth("root"); //3. 选择库 jedis.select(0); }
-
测试:
@Test void testString(){ jedis.set("name","peter"); String name = jedis.get("name"); System.out.println("name = " + name); } @Test void testHash(){ //插入hash数据 jedis.hset("reggie:user:1","name","Jack"); jedis.hset("reggie:user:2","name","Rose"); jedis.hset("reggie:user:1","age","21"); jedis.hset("reggie:user:2","age","18"); //获取 Map<String, String> map = jedis.hgetAll("reggie:user:1"); System.out.println(map); }
-
释放资源:
@AfterEach void tearDown(){ if (jedis != null){ jedis.close(); } }
连接池
- 新建一个
com.blog.util
,用于存放我们编写的工具类public class JedisConnectionFactory { private static JedisPool jedisPool; static { // 配置连接池 JedisPoolConfig poolConfig = new JedisPoolConfig(); poolConfig.setMaxTotal(8); poolConfig.setMaxIdle(8); poolConfig.setMinIdle(0); poolConfig.setMaxWaitMillis(1000); // 创建连接池对象,参数:连接池配置、服务端ip、服务端端口、超时时间、密码 jedisPool = new JedisPool(poolConfig, "127.0.0.1", 6379, 1000, "root"); } public static Jedis getJedis(){ return jedisPool.getResource(); } }
- 之后我们的测试类就可以修改为如下
@SpringBootTest class RedisTestApplicationTests { private Jedis jedis = JedisConnectionFactory.getJedis(); @Test void testString(){ jedis.set("name","peter"); String name = jedis.get("name"); System.out.println("name = " + name); } @Test void testHash(){ jedis.hset("reggie:user:1","name","Jack"); jedis.hset("reggie:user:2","name","Rose"); jedis.hset("reggie:user:3","name","peter"); jedis.hset("reggie:user:1","age","21"); jedis.hset("reggie:user:2","age","18"); jedis.hset("reggie:user:3","age","18"); Map<String, String> map = jedis.hgetAll("reggie:user:1"); System.out.println(map); } @AfterEach void tearDown(){ if (jedis != null){ jedis.close(); } } }