对于List数据类型,可以从两边push或者pop数据,还可以对单个元素进行修改
其中元素是可以重复的
比如进行下列操作
redis:0>rpush testList how "1" redis:0>rpush testList are "2" redis:0>rpush testList you "3" redis:0>lpop testList "how" redis:0>lpop testList "are" redis:0>lpop testList "you" redis:0>lrange testList 0 -1
只需要理清List的push和pop处理数据的位置,基本没什么难度
public class RedisTest extends BaseTest {
@Resource
private RedisTemplate redisTemplate;
@Test(description = "列表类型")
public void redisListTest() {
redisTemplate.opsForList().rightPush("testList", "how");
redisTemplate.opsForList().rightPush("testList", "are");
redisTemplate.opsForList().rightPush("testList", "you");
List<String> stringList = new ArrayList<>();
stringList.add("how");
stringList.add("are");
stringList.add("you");
Assert.assertEquals(redisTemplate.opsForList().range("testList", 0, -1),
stringList);
Assert.assertEquals(redisTemplate.opsForList().leftPop("testList"),"how");
Assert.assertEquals(redisTemplate.opsForList().leftPop("testList"),"are");
Assert.assertEquals(redisTemplate.opsForList().leftPop("testList"),"you");
redisTemplate.opsForList().rightPushAll("testList", stringList);
Assert.assertEquals(redisTemplate.opsForList().range("testList", 0, -1),
stringList);
redisTemplate.opsForList().remove("testList", 0, -1);
}
}
注意的是List是可以重复的