持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情
redis中的list数据类型的应用
相信学习java等语言的小伙伴们对于list一定是不陌生的,那么你们知道redis中的list有什么不同吗?
那么今天咱们就一起来学习一下redis中的list。
介绍 list 文档中的基本操作
首先,我们可以通过以下命令来对 list 的相关命令进行查询:
help @list
查看帮助:
通过上述操作,我们会发现list相关的命令都是比较好辨认的,因为它们都是以L开头的。
通过 LRANGE 查看list的内容
list和是string不一样,在想查看的时候,不能直接使用get命令来查看,但是redis中也为list的查看提供了相应的方法,例如可以使用以下命令:
LRANGE k1 0 1
LRANGE的命令就只有三个参数:第一个参数是指要针对哪个key进行操作,第二个参数和第三个参数是指要查看list中元素的范围(这个是可以根据实际需要而做出相应改变的)。
通过查看list的操作命令,我们发现可以对list实现以下类型的操作(以原有 “nihao”为例子讲述):
- 在左边添加字符串,效果如:“hinihao”
- 在右边删除字符,效果如:“nih”
- 在右边添加字符,效果如:“nihaoaaa”
- 在左边删除字符,效果如“hao”
对于上述的操作,如操作一和操作二组合,则可以模拟成一个队列,操作一和操作四的组合就可以模拟栈的特性。
当然啦,list本身就有数组的性质,所以它也是可以模拟数组的。
除了以上这些,使用redis中的list也是可以模拟阻塞等情况,另外还有一个特别重要的点,就是通过list实现一个先进先出的fifo算法。