首页 > 代码库 > redis的lists类型

redis的lists类型

  List是一个链表结构 , 主要功能是push 、 pop 、获取一个范围的所有值等等 , 操作中key理解为链表的名字 . redis 的 list类型其实就是一个每个子元素都是string类型的双向链表 . 我们可以通过push 、pop 操作从链表的头部或者尾部添加删除元素 , 这样list既可以作为栈 , 又可以作为队列 .

 

lpush : 从头部把数据压栈 .

  lpush  list1 "fcz"

  lpush  list1 "zxy"

rpush : 从尾部把数据压栈 .

  rpush  list2 "fcz"

  rpush  list2 "zxy"

linsert : 在key对应list的特定位置前或后添加字符串

  linsert  list3 "world"  "hello"  // 在world的前面压入一个hello

lset : 设置list中指定下标的元素值 , 类似于数组 .

  lset  list4  0 "world"

lrem :  从key对应list中删除n个和value相同的元素 ( n<0 从尾删除 , n=0 全部删除)

  lrem list1  1  "fcz"  // 从list1中删除1 个与"fcz"相同的值 .

ltrim :  保留指定key的值范围内的数据 .

  ltrim list2  1 2   // 只保留下标1到2之间的数据.

lpop : 从list的头部删除元素 , 并返回删除元素 .
rpop : 从list的尾部删除元素 , 并返回删除元素 .

lindex : 返回名称为key的list中index位置的元素 .

  lindex  list1  0  // 返回下标是0的元素的值 .

 

redis的lists类型