| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- 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<String,String> 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<String> 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));
- }
- }
|