返回顶部
首页 > 资讯 > 数据库 >redis之lists类型及操作
  • 632
分享到

redis之lists类型及操作

2024-04-02 19:04:59 632人浏览 安东尼
摘要

lists类型及操作list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。

lists类型及操作
list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表的名字。
Redis的list类型其实就是一个每个子元素都是string类型的双向链表。链表的最大长度是(2的32次方)。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list既可以用作栈,也可以用作队列。
有意思的是list的pop操作还有阻塞版本的,当我们[lr]pop一个list对象时,如果list是空,或者不存在,会立即返回nil。但是阻塞版本的b[lr]pop可以则可以阻塞,当然可以加超时时间,超时后也会返回nil。为什么要阻塞版本的pop呢,主要是为了避免轮询。举个简单的例子如果我们用list来实现一个工作队列。执行任务的thread可以调用阻塞版本的pop去获取任务这样就可以避免轮询去检查是否有任务存在。当任务来时候工作线程可以立即返回,也可以避免轮询带来的延迟。

lpush
在key对应list的头部添加字符串元素
如:lpush mylist “aaa” “bbb”
rpush
在key对应list的尾部添加字符串元素
linsert
在key对应list的特定位置之前或之后添加字符串元素
如:linsert mylist3 before "world" "there"
lset
设置list中指定下标的元素值(下标从0开始)
如:lset mylist4 0 "four"
lrem
从key对应list中删除count个和value相同的元素。
count>0时,按从头到尾的顺序删除;
count<0时,按从尾到头的顺序删除;
count=0时,删除全部
如:lrem mylist5 2 "hello"
ltrim
保留指定key 的值范围内的数据
如:ltrim mylist8 1 -1
lpop
从list的头部删除元素,并返回删除元素
如:lpop mylist
rpop
从list的尾部删除元素,并返回删除元素
rpoplpush
从第一个list的尾部移除元素并添加到第二个list的头部,最后返回被移除的元素值,整个操作是原子的.如果第一个list是空或者不存在返回nil.
如:rpoplpush mylist5 mylist6
lindex
返回名称为key的list中index位置的元素
llen
返回key对应list的长度

您可能感兴趣的文档:

--结束END--

本文标题: redis之lists类型及操作

本文链接: https://lsjlt.com/news/45511.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • redis之lists类型及操作
    lists类型及操作list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。...
    99+
    2024-04-02
  • redis之strings类型及操作
    set 设置key对应的值为string类型的value.如:set name HongWansetnx设置key对应的值为string类型的value。如果key已经存在,返回0,nx是not exist...
    99+
    2024-04-02
  • redis之hashes类型及操作
    hashes类型及操作Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象。相较于将对象的每个字段存成单个stri...
    99+
    2024-04-02
  • redis之sets类型及操作
    sets类型及操作set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作,操作中key理解为集合的名字。set的是通过hash table实现(即set并没有顺序)...
    99+
    2024-04-02
  • Redis之list类型及操作
    lpush:在key对应list的头部添加字符串元素。 127.0.0.1:6379> lpush mylist world (integer) 1 127.0.0.1:6379> lpush ...
    99+
    2024-04-02
  • Redis之string类型及操作
    set:设置key对应的值为string类型的value。 127.0.0.1:6379> set name stone OK 127.0.0.1:6379> get name "sto...
    99+
    2024-04-02
  • Redis之zset类型及操作
    zset是string类型的有序集合 zadd:向名称为key的zset中添加元素member,score用于排序。如果该元素存在,则更新其顺序。 127.0.0.1:6379> zadd myzs...
    99+
    2024-04-02
  • redis之sorted sets类型及操作
    sorted sets类型及操作 sorted set是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以...
    99+
    2024-04-02
  • Redis笔记-String类型及操作(二)
    String类型及操作String是简单的类型 ,一个Key对应一个Value. String类型是二进制安全的。 Redis的String可以包含任何数据,比如jpg图片或者序列化的对象Set设置Key对...
    99+
    2024-04-02
  • Redis常用命令之操作String类型
    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Redis的启动和关闭(前台启动和...
    99+
    2018-04-04
    Redis常用命令之操作String类型
  • Redis常用命令之操作Hash类型
    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Redis的启动和关闭(前台启动和...
    99+
    2016-10-09
    Redis常用命令之操作Hash类型
  • Redis常用命令之操作List类型
    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Redis的启动和关闭(前台启动和...
    99+
    2021-09-07
    Redis常用命令之操作List类型
  • Redis字符串类型的操作
    set key value [ex 秒数] / [px 毫秒数] [nx] /[xx] 如: set a 1 ex 10 , 10秒有效Set a 1 px 9000 , 9秒有效注: 如果ex,p...
    99+
    2024-04-02
  • Redis基础类型及常用操作、命令有哪些
    Redis基础类型及常用操作、命令有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。概念:Redis是用C语言开发的一个开源的高性能键值对数...
    99+
    2024-04-02
  • Redis基础类型常用操作命令
    Redis基础类型常用操作命令 概念:Redis是用C语言开发的一个开源的高性能键值对数据库。 特征: 数据间没有必然的联系 内部采用单线程机制进行工作 高性能 多数据类型支持 字符串类型 String 列表类型 List 散列类型 M...
    99+
    2022-02-15
    Redis基础类型常用操作命令
  • Python之Redis操作
    目录 一. 介绍A. 什么是 Redis?B. Redis 的特点和用途C. Python 操作 Redis 的优势 二. 使用 Redis 客户端库A. 安装 Redis 客户端库B...
    99+
    2023-08-31
    redis python
  • python之操作redis
    # coding:utf8 # 导入模块 import redis # 连接redis库 # r = redis.Redis(host='192.168.10.128',port=6379,db=0) # 主要是为了向后兼容 r = red...
    99+
    2023-01-31
    操作 python redis
  • Redis中五种数据类型简单操作
    Redis中五种数据类型简单操作 提出问题 Redis五种数据类型的简单增删改查命令??? 解决问题 假设你已经安装Redis服务器; 假设你已经打开Redis cli命令行工具; 假设你对Redis有...
    99+
    2022-06-04
    五种 数据类型 操作
  • ​Jedis对redis五大类型的操作示例
    这篇文章给大家分享的是有关Jedis对redis五大类型的操作示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Jedis对redis的五大类型的操作:字符串、列表、散列、集合、...
    99+
    2024-04-02
  • 浅谈python数据类型及其操作
    目录一、Number 数字二、String 字符串三、List 列表四、Tuple 元组五、Sets集合六、Dictionary 字典 (非常重要)一、Number 数字 1.内置...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作