import org.example.Main; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.RedisTemplate; import java.util.List; import java.util.Set; @SpringBootTest(classes = Main.class) public class ListTest { @Autowired private RedisTemplate redisTemplate; //增加 @Test public void testAdd(){ //从左边添加一个元素 redisTemplate.opsForList().leftPush("students","zhangshan"); //从左边添加多个元素 不能添加多个? redisTemplate.opsForList().leftPush("students","lishi","wangwu"); //从右边添加一个元素 redisTemplate.opsForList().rightPush("students","zhangshan1"); //从右边添加多个元素 不能添加多个? redisTemplate.opsForList().rightPush("students","lishi1","wangwu1"); System.out.println(redisTemplate.opsForList().range("students", 0, -1)); } @Test public void testFind(){ //根据key和元素索引进行查询 //0和正数代表从左边开始 //负数代表从右边开始 String students = redisTemplate.opsForList().index("students", 1); System.out.println(students); String students1 = redisTemplate.opsForList().index("students", -1); System.out.println(students1); //范围查询 //根据key 【start,end】 包括首尾 List students2 = redisTemplate.opsForList().range("students", 0, 2); for (String s : students2) { System.out.println(s); } } //删除 @Test public void testRemove(){ //从左边删除第一个元素 String s = redisTemplate.opsForList().leftPop("students"); //从右边删除第一个元素 String s1 = redisTemplate.opsForList().rightPop("students"); //count > 0; 删除左边起第几个等于指定值的元素 //count < 0; 删除右边起第几个等于指定值的元素 //count = 0; 删除所有等于value的元素 //删除左边起第二个wangwu redisTemplate.opsForList().remove("students",0,"zhangshan1"); redisTemplate.opsForList().remove("students",0,"zhangshan"); System.out.println(redisTemplate.opsForList().range("students", 0, -1)); } }