redis取出list最边的一个_六、Redis列表(list)类型参考记录(1)

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

列表类型内部使用双向链表(bouble linked list)实现,因此向两端添加元素的时间复杂度为O(1),获取越接近两端的元素速度就越快。

缺点

通过索引访问元素比较慢。设想1000人排队买手机的场景画面,商家为了感谢粉丝的支持,决定奖励排在第 500名的这位顾客一部手机。为了找到这个顾客,商家需要从队首开始找。排得越靠后越花费时间。

经典使用场景

微博上的时事等有时效的内容。

基本命令

lpush 将一个或多个值插入列表头部

语法:lpush key value1 [value2 ...]127.0.0.1:6379> lpush number 1

(integer) 1

127.0.0.1:6379> lpush number 2 3

(integer) 3lpush向列表左边增加元素。lpush先向列表左边加入2,然后再加入3。因此number键中的数据是3 2 1

rpush 向列表右边增加一个或多个值

语法:rpush key value1 [value2 ...]127.0.0.1:6379> rpush number 0 -1

(integer) 5向列表右边增加了0和-1,此时列表中的值为 3 2 1 0 -1

lpop 从列表左边弹出一个元素并显示该值

语法:lpop key127.0.0.1:6379> lpop number

"3"

rpop 从列表右边弹出一个元素并显示该值

语法:rpop key127.0.0.1:6379> rpop number

"-1"lpop/rpop命令2步骤下:1)移除列表左边的一个元素;2)返回被移除元素的值

llen 获取列表中元素的个数

语法:llen key127.0.0.1:6379> llen number

(integer) 3key不存在时返回0

lrange 获取指定范围的元素

语法:lrange key start end# 获取所有元素

127.0.0.1:6379> lrange number 0 -1

1) "2"

2) "1"

3) "0"

# 获取前2个元素

127.0.0.1:6379> lrange number 0 1

1) "2"

2) "1"1)若start索引位置比end索引位置靠后,则返回空列表

2)若end大于实际索引范围,则返回列表最右边的元素

lrem 删除列表中指定的值

语法:lrem key count value

lrem删除列表中前count个值为value的元素,返回实际删除元素的个数。count值不同,lrem命令执行方式有些差异。当 count > 0 时,lrem命令会从列表左边开始删除前count个值为value的元素;

当 count < 0 时,lrem命令会从列表右边开始删除前count个值为value的元素;

当 count = 0 时,lrem命令会删除所有值为value的元素。127.0.0.1:6379> rpush number 2

(integer) 4

127.0.0.1:6379> lrange number 0 -1

1) "2"

2) "1"

3) "0"

4) "2"

# 从右边开始删除值为2的元素

127.0.0.1:6379> lrange number 0 -1

1) "2"

2) "1"

3) "0"

4) "2"

127.0.0.1:6379> lrem number -1 2

(integer) 1

127.0.0.1:6379> lrange number 0 -1

1) "2"

2) "1"

3) "0"

lindex 通过索引获取列表中的元素

语法:lindex key index127.0.0.1:6379> lindex number 0

"2"

lset 通过索引设置列表元素的值

语法:lset key index value# 列表元素中索引为1的值设置为7

127.0.0.1:6379> lset number 1 7

OK

我是夕阳何处寻,期待和优秀的你一起同行!

小白

2020年08月31日

转载:感谢您对自如初博客网站的认可,所有文章均属原创文章,技术类文章转载请注明出处,“自如初博客”;文学类文章请带文本链接地址,否则视为侵权!

很赞哦!(4)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NovuMind 首秀 CES,展示业界最高性能的 AI 芯片

来源&#xff1a;极客公园概要&#xff1a;神秘低调的硅谷创业公司 NovuMind 亮相本届 CES&#xff0c;向业界首次展示其自主研发的高性能、低功耗的 AI 芯片&#xff0c;为业界带来前所未有的超强算力。2017 年被称作是「人工智能芯片元年」&#xff0c;各路巨头和创业公司奋力…

死锁Waiting--DeadLockDemo

import java.util.concurrent.locks.ReentrantLock;/*** 死锁演示.<br>* author gongqiang <br>* version 1.0.0 2021年6月4日<br>* see * since JDK 1.5.0*/ public class DeadLockDemo {/*** param args*/public static void main(String[] args) {Reentra…

bochs镜像java模拟器_bochs模拟器镜像下载-bochs模拟器win10镜像下载精简版-手机腾牛网...

bochs模拟器win10镜像是专为安卓手机用户打造的一个镜像文件&#xff0c;这个镜像需要与bochs模拟器配合使用&#xff0c;安装后就可以安装win10系统了&#xff0c;让你在安卓手机上也能体验win10操作系统的各种种功能&#xff0c;欢迎下载体验。镜像简介Bochs是一个x86硬件平台…

MIT重磅报告:一文看清AI商业化现状与未来

来源&#xff5c;公众号“AI 前线”&#xff0c;&#xff08;ID&#xff1a;ai-front&#xff09;作者&#xff5c;MIT斯隆管理评论编辑&#xff5c;Emily人工智能显然已经成为 2017 年最为火热的话题之一&#xff0c;越来越多的企业开始关注并探索人工智能的相关实践。为了了解…

Arthas 思维导图笔记

https://www.processon.com/view/link/60b9cd711efad420f6d868a8

揭秘高盛区块链报告:区块链技术在五大领域从理论走向实践 | 附报告下载

来源&#xff1a;亿欧概要&#xff1a;目前对区块链潜在作用讨论的焦点在于使用分布式账本建立去中心化市场&#xff0c;并削弱现有中间商的控制权&#xff0c;但区块链的潜力比这种单薄的说法来得更加细致也更加深远。最近&#xff0c;区块链很火&#xff0c;资本市场沾上“区…

java jcombobox 获取值_从java中的JComboBox获取字符串值

我正在做一个testJComboBox程序.一旦我选择了jCombobox的输出,我就会得到我需要的字符串值.但是,它不起作用.这是我的代码&#xff1a;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class TestJCB extends JFrame {private JLabel genderL;private …

星级评分--演进式部署

1、组件初始配置 2、改进版加入半星评分 3、所有服务都改 1、组件初始配置 2、改进版加入半星评分 3、所有服务都改

CES现场低调的主线,近在咫尺的5G商业化 | CES2018技术趋势

来源&#xff1a;36氪概要&#xff1a;5G的商业化眼看就要来了。同之前几年一样&#xff0c;在今年的CES上&#xff0c;5G也注定是关键词之一。5G技术的商用在日渐迫近&#xff0c;高通、英特尔等公司都在为此努力。5G作为一种基础性的技术&#xff0c;相比于时下风头正盛的AI、…

java logout session_会话跟踪技术--session的使用

会话跟踪技术--session的使用会话跟踪&#xff1a;1、使用隐藏表单字段2、URL重写http://host/path/file.jsp?sessionidlandril3、持久Cookie4、会话HttpSession一、使用session的简单步骤获取HttpSession(request.getSession()方法)对象&#xff0c;查找与该会话相关的信息(s…

《Science》杂志:机器学习究竟将如何影响人类未来的工作?

作者&#xff1a;Smiletalker概要&#xff1a;《Science》杂志也发表了一篇长文&#xff0c;从几个不同角度详细阐述了机器学习对于未来人类工作的影响。人工智能、机器学习相关技术已经多次刷新了人们对于「计算机能做什么」的认知&#xff0c;那么紧接着的一个问题就是「计算…

部署流水线

1、多阶段部署流水线 2、包含适应度函数阶段的部署流水线 3、部署流水线扇出测试多个场景 1、多阶段部署流水线 2、包含适应度函数阶段的部署流水线 3、部署流水线扇出测试多个场景 扇入&#xff1a;是指直接调用该模块的上级模块的个数。扇入大表示模块的复用程度高。 扇出…

java函数和构造函数_JAVA的构造器和C++的构造函数有什么区别?

慕瓜9086354Java和C在构造函数中调用虚函数的区别首先可以认为&#xff0c;Java所有instance函数都是虚函数。C类的构造函数中调用虚函数&#xff0c;并不能有多态效果。这样设计的理由是&#xff1a;在基类的构造函数中&#xff0c;派生类的成员尚未初始化&#xff0c;而派生类…

活用ognl表达式

转载&#xff1a;https://github.com/alibaba/arthas/issues/11 前言 Arthas 3.0中使用ognl表达式替换了groovy来实现表达式的求值功能&#xff0c;解决了groovy潜在会出现内存泄露的问题。灵活运用ognl表达式&#xff0c;能够极大提升问题排查的效率。 ognl官方文档&#x…

Jeff Dean晒Google Brain团队2017成绩单!

来源&#xff1a;全球人工智能谷歌大脑负责人 Jeff Dean 今天发文晒AutoML、语言理解、机器学习算法、机器学习系统等核心研究工作成绩单&#xff0c;全面总结谷歌大脑在2017年取得的成绩。一、自动化机器学习&#xff08;AutoML&#xff09;我们开发了使用强化学习和进化算法设…

mysql恢复主服务器_MySQL 5.6主从复制第二部分[恢复某一台从服务器]

MySQL 5.6主从复制第二部分[恢复某一台从服务器]&#xff0c;本来第二部分是想测试主服务器挂掉&#xff0c;提升从服务器的情况&#xff0c;可是出了点点意外&#xff0c;改本来第二部分是想测试主服务器挂掉&#xff0c;提升从服务器的情况&#xff0c;可是出了点点意外&…

亮相2018CES:解读阿里云IoT筹谋全球物联网市场的一盘大棋!

来源&#xff1a;阿里巴巴概要&#xff1a;近年来国内物联网市场高歌猛进&#xff0c;2017年也被称为物联网真正意义上的元年。成立还不到一年的阿里云IoT&#xff0c;以平台、市场、标准三位一体的策略&#xff0c;迅速在物联网领域崭露头角、稳固地位。一年一度的CES在拉斯维…

CompletableFuture 异步编程

本文从实例出发&#xff0c;介绍 CompletableFuture 基本用法。不过讲的再多&#xff0c;不如亲自上手练习一下。所以建议各位小伙伴看完&#xff0c;上机练习一把&#xff0c;快速掌握 CompletableFuture。 全文摘要&#xff1a; Future VS CompletableFuture CompletableFu…

java 线程 api_Java核心API之线程(上)

实例代码如下&#xff1a;package ThreadDemo;class RunnableDemo implements Runnable {private Thread t;private String threadName;RunnableDemo( String name) {threadName name;System.out.println("Creating " threadName );}public void run() {System.ou…

麦肯锡:物联网九大应用潜力无限 2025年经济价值高达11.1万亿美元

来源&#xff1a;WPR概要&#xff1a;物联网有可能从根本上改变人类与周围世界的互动方式。如果一切顺利的话&#xff0c;那么到2025年&#xff0c;物联网——将实体和数字世界连接起来的这项技术&#xff0c;其经济价值可达每年11&#xff0e;1万亿美元。物联网有可能从根本上…