redistemplate.opsforlist().leftpop()支持传递个数吗?
redis 6.2 后,确实支持 lpop 命令一次弹出列表的多个值,例如:lpop id 3。
然而,对于这个问题,答案似乎与 spring data redis 版本有关。
答案:
使用 spring-data-redis-2.7.2 版本时,redistemplate.opsforlist().leftpop() 支持传递参数,即可以一次弹出列表中的多个值。
如下所示:
import org.springframework.data.redis.core.RedisTemplate; public class RedisTemplateDemo { public static void main(String[] args) { // 这里假设您已经创建了一个 RedisTemplate 对象 RedisTemplate<String, String> redisTemplate = new RedisTemplate<>(); // 从列表中弹出一个元素 String value1 = redisTemplate.opsForList().leftPop("id"); // 从列表中弹出三个元素 List<String> values = redisTemplate.opsForList().leftPop("id", 3); } }