RedisTemplate操作Redis数据:List类型

对于List数据类型,可以从两边push或者pop数据,还可以对单个元素进行修改

NewImage

其中元素是可以重复的

比如进行下列操作

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是可以重复的

发表回复