初识redis之常用List命令

来源:互联网 发布:拍照软件 桃心 编辑:程序博客网 时间:2024/05/16 11:14

   一个redis服务器又可以被称作数据结构服务器,主要是它基本上都是用各种数据结构式的存储数据。本篇使用一个篇幅来说一个list也主要是因为它包含了数据结构中比较重要的两个概念:栈和队列。(其实主要是我大学时对栈和队列没学好的缘故啦)。

   OK,为了表达清晰本篇的这两个数据结构概念,本文作者(就是我)请到了国际著名素描大师jeyson先生(还是我)为本文特意做的素描图,如下:
    

  咱们默认都是从头那边出东西,栈式先进后出,队列式先进先出。嗯,接下来我再说头和尾,就按照图上的说法就可以了。

  以下又到了ctrl+v的摘抄我的学习笔记了,嗯:
   

List:链表类型 push,pop操作,双向链表,可以操作头部也可以尾部(所以可以作为队列也可以做栈)
  命令:
  lpush  mylist "jeyson"   向mylist中压入一个jeyson的元素(栈式压入)(从头部压入)
  rpush mylist "jeyson"   向 mylist中压入一个jsyon的元素(队列式压入)(从尾部压入)
  lpop  mylist   从头部删除一个元素,并返回该删除的元素
  rpop mylist   从尾部删除一个元素,并返回该删除的元素
  lrange mylist 0 -1 获取链表中所有元素(从头部出来)
  linsert mylist before "jeyson" "Kim"  往jeyson前面压一个元素Kim(在jeyson的靠头部位置,出来早)
  linsert mylist after "jeyson" "Kim"   往jeyson后面压一个元素Kim(在jeyson的靠尾部位置,出来晚)
  lset mylist 1 "sky"  将mylist中下标为1的元素替换为sky
  lrem mylist n "key"  从mylist中删除n个和key相同的元素(从头部开始删,n=0删全部,n<0从尾部开始)
  ltrim mylist 1 3  保留下标为1-3的元素,其余全删掉,全部是(0 -1)
  rpoplpush mylist1 mylist2  从第一个链表的尾部删除一个元素把该元素压入第二个链表头部
  lindex mylist1 2 获取mylist1中索引(下标)为2的元素
  llen mylist  获取mylist中元素个数

1 0