该文章是接上一篇文章《Redis整合SpringBoot示例》的后续,操作用例代码比较多,这里展示核心代码所占篇幅很多,所以单独抽出来写
list类型在SpringBoot中的使用代码如下
package com.example.echo.redis;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.concurrent.TimeUnit;
import java.util.stream.IntStream;
@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisTypeListUseTest {
@Autowired
private RedisTemplate<String, String> redisTemplate;
@Test
public void testLpushList() {
redisTemplate.opsForList().leftPush("queue", "a");
System.out.println(redisTemplate.opsForList().range("queue", 0, -1));
}
@Test
public void testLpushAllList() {
redisTemplate.opsForList().leftPushAll("queue", "b", "c");
System.out.println(redisTemplate.opsForList().range("queue", 0, -1));
}
@Test
public void testRpushAllList() {
redisTemplate.opsForList().rightPushAll("queue", "d", "e");
System.out.println(redisTemplate.opsForList().range("queue", 0, -1));
}
@Test
public void testLpopList() {
redisTemplate.opsForList().leftPop("queue");
System.out.println(redisTemplate.opsForList().range("queue", 0, -1));
}
@Test
public void testRpopList() {
redisTemplate.opsForList().leftPop("queue");
System.out.println(redisTemplate.opsForList().range("queue", 0, -1));
}
@Test
public void testLindexList() {
String queue = redisTemplate.opsForList().index("queue", 2);
System.out.println(queue);
System.out.println(redisTemplate.opsForList().range("queue", 0, -1));
}
@Test
public void testLtrimList() {
redisTemplate.opsForList().trim("queue", 0, 1);
System.out.println(redisTemplate.opsForList().range("queue", 0, -1));
}
@Test
public void testLlenList() {
System.out.println(redisTemplate.opsForList().size("queue"));
}
@Test
public void testDelList() {
redisTemplate.delete("queue");
System.out.println(redisTemplate.opsForList().range("queue", 0, -1));
}
@Test
public void testBrpopList() {
redisTemplate.opsForList().leftPushAll("queue", "a", "b", "c", "d", "e");
IntStream.range(0, 6).forEach(it -> {
System.out.println(redisTemplate.opsForList().rightPop("queue", 60, TimeUnit.SECONDS));
});
}
}