zoukankan      html  css  js  c++  java
  • Redis数据结构(四)

    存储list:
    list存储方式采用头和尾插入的方式,这样效率快,如果没有这个插入的数据,redis自己会创建这个数据,如果是中间插入的话,采用list方式效率就会很慢。

    ArrayList使用数组方式:
    采用索引的方式,去查询的速度是非常快的,新增和删除操作,涉及到位移操作,所以比较慢,
    LinkedList使用双向链接方式:
    每个元素都记录了前后元素的指针,插入和删除操作时候,只是改变了前后元素的指针操作即可,速度就会非常快了。
    (1)双向链表插入数据
    (2)双向链表删除数据

    存储list常用命令:
    (1)两端添加
    链表左端添加:
    语法:lpush [key][value][value]
    lpush mylist a b c
    语法:rpush [key][value][value]
    lpush mylist2 1 2 3
    (2)查看列表
    语法:lrange [table][start][end] (从零开始计数,负数从表尾开始)
    lrange mylist 0 5
    lrange mylist2 0 -2

    (3)两端弹出
    从列表中弹出数据,这时列表中就没有数据了
    左端弹出:
    lpop mylist
    右端弹出:
    rpop list
    (4)获取列表元素个数
    左端查看:
    llen mylist
    (5)扩展命令
    仅在存在的表头插入数据,不存在这个表,就不会插入数据了。
    lpushx mylist x
    rpushx mylist2 x
    删除命令
    自动遍历数据,然后从头开始删除,规定个数的数据
    lrem mylist3 2 3 从头删除2个3数据
    从尾往上删除
    rrem mylist3 -2 1 从后往前删除两个1
    插入元素
    lset mylist 3 aaa 在第三个元素前添加‘aaa’
    在元素前插入数据
    创建数据:
    lpush mylist4 a b c
    lpush mylist4 a b c
    在b前插入数据
    linsert mylist4 before b 11
    在b后插入数据
    linsert mylist4 after b 22

    尾部元素砍出,并添加到头部
    创建数据
    lpush mylist5 1 2 3
    lpush mylist6 a b c
    数据处理
    rpoplpush mylist5 mylist6
    应用在消息队列当操作中。

     

  • 相关阅读:
    基于jquery的提示框JavaScript 插件,类Bootstrap
    css重点知识和bug解决方法
    小白初识js
    动态的将数据生成“表格”(京东商品),并具备搜索筛选工能
    原装js轮播图,鼠标移入停止轮播,移出继续轮播
    用js写九九乘法表格,附带背景颜色
    用js写直角三角形,等腰三角形,菱形
    关于两数组,求出两数组中相同的的对象
    好的js书写习惯
    前端之道
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/7098285.html
Copyright © 2011-2022 走看看