zoukankan      html  css  js  c++  java
  • redis数据类型:lists

    redis的list类型其实就是一个每个子元素都是string类型的双向链表。

    我们可以通过push,pop操作从链表的头部或者尾部添加删除元素,这样list即可以作为

    栈,又可以作为队列。

    lpush方法:从头部添加字符串元素

    lrange方法:从list中取数据,从头部取

    127.0.01:6379> lpush list1 "hello" "word"
    (integer) 2
    127.0.01:6379> LRANGE list1 0 -1
    1) "word"
    2) "hello"

    rpush方法:从尾部压入

    127.0.01:6379> rpush list2 "hello" "word"
    (integer) 2
    127.0.01:6379> LRANGE list2 0 -1
    1) "hello"
    2) "word"

    linsert方法:在指定键的list的指定元素前或者后插入

    127.0.01:6379> rpush list2 "hello" "word"
    (integer) 2
    127.0.01:6379> LRANGE list2 0 -1
    1) "hello"
    2) "word"
    127.0.01:6379> LINSERT list2 before "word" "in"
    (integer) 3
    127.0.01:6379> LRANGE list2 0 -1
    1) "hello"
    2) "in"
    3) "word"

    lset方法:设置list指定下标的元素值

    127.0.01:6379> lpush list3 one two three
    (integer) 3
    127.0.01:6379> lrange list3 0  -1
    1) "three"
    2) "two"
    3) "one"
    127.0.01:6379> lset list3 0 onechange
    OK
    127.0.01:6379> lrange list3 0  -1
    1) "onechange"
    2) "two"
    3) "one"

    lrem方法:从key对应list中删除n个和value相同的元素。返回删除掉的个数

    (n<0从尾部删除,n=0全部删除)

    127.0.01:6379> rpush list2 "one" "one" "one"
    (integer) 6
    127.0.01:6379> lrange list2 0  -1
    1) "hello"
    2) "in"
    3) "word"
    4) "one"
    5) "one"
    6) "one"
    127.0.01:6379> lrem list2 2 "one"
    (integer) 2
    127.0.01:6379> lrange list2 0  -1
    1) "hello"
    2) "in"
    3) "word"
    4) "one"
    127.0.01:6379> lrem list2 1 "one"
    (integer) 1
    127.0.01:6379> lrange list2 0  -1
    1) "hello"
    2) "in"
    3) "word"
    127.0.01:6379> lrem list2 1 "one"
    (integer) 0

    ltrim方法:保留key对应list的指定范围的数据

    127.0.01:6379> rpush list5 "one" "two" "three" "four"
    (integer) 4
    127.0.01:6379> lrange list5 0 -1
    1) "one"
    2) "two"
    3) "three"
    4) "four"
    127.0.01:6379> LTRIM list5 1 2
    OK
    127.0.01:6379> lrange list5 0 -1
    1) "two"
    2) "three"

    lpop方法:从list头部删除元素,并返回删除元素

    rpop方法:从list的尾部删除元素,并返回删除元素

    127.0.01:6379> rpush list6 "one" "two" "three"
    (integer) 3
    127.0.01:6379> lrange list6 0 -1
    1) "one"
    2) "two"
    3) "three"
    127.0.01:6379> rpop list6
    "three"
    127.0.01:6379> lpop list6
    "one"
    127.0.01:6379> lrange list6 0 -1
    1) "two"

    rpoplpush方法:从一个list中移除尾部元素,将这个元素添加到另一个list的头部

    127.0.01:6379> lrange list2 0 -1
    1) "hello"
    2) "in"
    3) "word"
    127.0.01:6379> lrange list3 0 -1
    1) "onechange"
    2) "two"
    3) "one"
    127.0.01:6379> rpoplpush list2 list3
    "word"
    127.0.01:6379> lrange list2 0 -1
    1) "hello"
    2) "in"
    127.0.01:6379> lrange list3 0 -1
    1) "word"
    2) "onechange"
    3) "two"
    4) "one"

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

    127.0.01:6379> lrange list3 0 -1
    1) "word"
    2) "onechange"
    3) "two"
    4) "one"
    127.0.01:6379> LINDEX list3 2
    "two"

    llen方法:返回key对应的list的长度

    127.0.01:6379> lrange list3 0 -1
    1) "word"
    2) "onechange"
    3) "two"
    4) "one"
    127.0.01:6379> llen list3
    (integer) 4

  • 相关阅读:
    086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结
    085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用
    jQuery UI组件库Kendo UI使用技巧小分享
    Kendo UI ListView模板功能,让Web开发更轻松
    UI组件套包DevExpress ASP.NET Core v20.2新版亮点:全新的查询生成器
    Devexpress WinForms最新版开发.NET环境配置Visual Studo和SQL Server对应版本
    全新的桌面应用数据可视化呈现方式,Sankey Diagram控件你了解多少?
    java中的递归方法
    连接数据库查询 将查询结果写入exce文件中
    java连接mysql数据查询数据
  • 原文地址:https://www.cnblogs.com/LvLoveYuForever/p/5732800.html
Copyright © 2011-2022 走看看