我在我的Java应用中使用RedisTemplate(来自Spring)。 我需要从与值相对应的元素列表中进行弹出操作,但不删除它。 有什么建议吗?
我在我的Java应用中使用RedisTemplate(来自Spring)。我需要从与值相对应的元素列表中进行弹出操作,但不删除它。你有什么建议吗?通过使用range命令,您可以轻松地查看一个项目而不是弹出它。
在Spring中,从RedisTemplate实例中,您可以通过使用opsForList()方法获取一个ListOperations实例,并执行以下操作:
listOp.range(key, 0, 0)将返回第一个(左侧)项,而不弹出它
listOp.range(key, -1, -1)将返回最后一个(右侧)项,而不弹出它
请参阅文档:
不确定如何使用RedisTemplate来执行此操作,但是您可以使用Redis命令从列表中获取值:
LRANGE <LIST> 0 0
要获取第一个值,其中<LIST>是您列表的名称。
RedisTemplate中是否有类似于此的功能?
LRANGE
和 LLEN
结合起来使用。使用 LLEN
获取队列中的元素数量 n
,并在 LRANGE n n
中使用该数字获取队列的前 n
个元素。 - coterobarros您可以使用RedisTemplate获取Redis中的值列表,如下所示。
Long size = redisTemplate.opsForList().size(key); Object object = hashOperationsList.range(key, 0, size );
这样可以避免从缓存中删除值。