• Redis学习笔记(六)---List


    1.ArrayList与LinkList的区别

    ArrayList的使用数组存入的方式,所以根据索引查询数据速度快,而增删元素是比较慢的,它需要将数据一位一位的移动,知道达到要求。

    LinkList使用的是双向链表的方式存储数据的,每一个元素都记录前后元素的指针,所以插入、删除数据是很快的,但是想要查找元素,就相对比较慢了。如果查询前几个元素或者后面的几个元素是比较快的。

    2.redis list的介绍

    列表类型(list)可以存储一个有序的列表字符串,常用的操作是向列表两端添加元素,或者获取列表的某一段。

    列表使用的是双向链表实现的吗,所以向列表中添加元素的复杂度为o(1),获取越接近两端的数据,速度越快,如果数据量很大,查找中间是很慢的。

    3.命令

    3.1向两端添加元素

    向左边添加元素。

    语法:LPUSH key value [value]

    127.0.0.1:6379> lpush list:1 2 4 6
    (integer) 3

    向左边添加元素。

    语法:RPUSH key value [value]

     
    127.0.0.1:6379> Rpush list:1 7 8 9
    (integer) 3

    查看列表

    LRANGE命令是列表最常用的命令之一,获取列表中的某一段,将返回tart、是图片之间的数据返回,从0开始,索引可以为负,-1代表最后的一个元素。

    语法:LRANGE key start stop

    127.0.0.1:6379> lrange list:1 0 2

    从列表的两端将数据弹出

    LPOP命令从列表左边弹出一个元素,会分两步完成:将数据删除,将数据返回。

    语法:LPOP key  左弹出

          RPOP key 右弹出

    127.0.0.1:6379> lpop list:1
    
    127.0.0.1:6379> rpop list:1

    获取数据的个数

    语法:LLEN key

    127.0.0.1:6379> llen list:1

    删除所有的值

    LREM命令会删除列表中前count个值为value的元素,返回实际删除的元素个数。根据count值的不同,该命令的执行方式会有所不同:

    当count>0时, LREM会从列表左边开始删除

    当count<0时, LREM会从列表后边开始删除。

    当count=0时, LREM删除所有值为value的元素。

    语法:LREM key count value

    获取、设置指定索引的元素值

    语法:LINDEX key index

    127.0.0.1:6379> lindex l:list 2

    设置值

    LSET key index value

    127.0.0.1:6379> lset l:list 2 2
    OK
    127.0.0.1:6379> lrange l:list 0 -1

     只保留保留列表指定的片段

    LTRIM key start stop

    127.0.0.1:6379> lrange l:list 0 -1

    向列表中插入数据

    语法:LINSERT key BEFORE|AFTER pivot value

    linsert list after 3 4
    linsert list before 3 4

    将一个元素从一个列表移动到另一个列表中

    语法:RPOPLPUSH source destination

    RPOPLPUSH list1 list2;

    4.应用场景:

    Redis中创建商品评论列表,因为评论只是显示前面的几条数据,这样响应的速度是很快的。

  • 相关阅读:
    关于rollaxis与swapaxes的使用
    三角函数诱导公式、恒等变换公式
    二阶导数为什么写成 d2y/dx2 的形式
    哔哩哔哩批量合并缓存音视频利用python3+ffmpeg
    机器视觉光源选型(一)-光源颜色选择
    机器视觉光源选型(四)-环形光源
    机器视觉光源选型(三)-同轴光源
    机器视觉光源选型(二)-低角度环形光源
    机器视觉光源选型(六)-不同照明技术对比
    机器视觉光源选型(五)-圆顶光源
  • 原文地址:https://www.cnblogs.com/kw28188151/p/8254222.html
Copyright © 2020-2023  润新知