Redis命令拾遗三(列表List类型)

本文版权归博客园和作者吴双本人共同所有。转载和爬虫请注明原文地址

Redis五种数据类型之列表类型

Redis五种数据类型之列表类型。你可以存储一个有序的字符串列表一类数据。比如你想展示你所存储的所有文章中的前十条,当分页取下一页的时候,你也可以取接下来的十条。所以建议你维护一个文章ID的列表。其内部使用双向链表实现,这意味着在你获取一段头部和尾部的数据是极快的,但是在数据量大时获取列表中间部分的数据稍慢。因为链表通过索引访问数据。比如微信的朋友圈,我们关注的大部分只是最新的数据,所以这样的场景很合适。同时,在插入数据时,也是在左右两端插入,效率也不会受到影响。

下面简单介绍一下命令:

LPUSH Key Values.....  我们插入 3 4 5 6 7 8插入后 他们的结构应该是 8 7 6 5 4 3因为是一直向左插入嘛。

1.RPUSH自然就是向右插入。

2.LRANGE Key Start End命令,获取指定key的开始到结束索引的值。索引从0开始。负数索引的话,最右侧的元素是-1。如果说end小于start则返回空列表。0到-1的数据,自然就是最左侧到最右侧了。当然你也可以0-正值索引结束,返回的还是这几个数据。

3.LPOP分别是从列表的最左侧和最右侧弹出一个元素,弹出也就是取出数据后从原列表移除掉了。Redis消息队列也正是依据这样的列表和弹出的原理。

4.LLEN Key获取指定Key的集合长度。

5.LINDEX Key index  返回指定Key的指定索引位置的值。

6.LSET Key index val 替换指定索引(已存在的哟)位置的原有值。

如果你的索引值超过集合界限,那么返回如下错误。如果你获取超过索引范围的值,那么会返回nil

7.LTRIM key start end 删除指定索引外的所有值。比如你想实现一个只展示最新TOP10条的新闻列表,那么你就可以让LPUSH和LTRIM配合一下了。每次在左侧插入新数据后,都继续执行LTRIM key 0 9。其他数据自然删除了。

8.LINSERT 在指定Key的执行值(注意是值,不是索引)的前面BEFORE或者后面AFTER插入目标值。如果你存在重复值,那么会报Arguments冲突。

9.RPOPLPUSH  弹出右侧元素,并且存到新的集合中。如果你需要循环利用一个集合中的数据,你也可以RPOPLPUSH sourceList sourceList。从源集合到源集合当中。

10.LREM,删除指定Key中前多少个值为xxx的元素

 

 

 

 

有些命令你可能今天用不到,但是积累起来,相信有一天需求一出现,你立马能反应出来。

 

转载于:https://www.cnblogs.com/tdws/p/5782347.html

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

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

相关文章

计算机桌面上的声音图标没了怎么办,电脑声音图标不见了怎么办超详细教程

我们在用电脑或者平板看视频、听歌的时候,如果声音不合适,大了或小了就会调节音量,除了可以选择设备自带的外部音量大小调节按键外,还可以用自带的声音图标来调节,而屏幕上的声音图标是最方便的。如果屏幕上的声音图标…

XML解组基准:JAXB,STAx,Woodstox

介绍 上周末,我开始考虑如何以一种资源友好的方式处理大量XML数据。我要解决的主要问题是如何以块的形式处理大型XML文件,同时提供上游/下游系统,需要处理一些数据。 当然,我已经使用JAXB技术已有几年了。 使用JAXB的主要优点是可…

ArcGIS空间分析工具

1. 3D分析 1.1. 3D Features toolset 工具 工具 描述 3D Features toolset (3D 要素工具集) Add Z Information 添加 Z 信息 添加关于具有 Z 值的要素类中的要素的高程属性的信息。 Buffer 3D 3D 缓冲 围绕点或线创建三维缓冲区以生成球形或圆柱形的多面…

计算机科学家和心理学家合作,生物智能与人工智能之间的合作

李飞飞带领的斯坦福“以人为本AI研究院”发表文章,探讨人工智能、神经科学、心理学和认知科学,以及数学、物理和社会科学等学科过去是怎样、以及未来将如何共同合作,追求对理解和创造智能系统的探索。最初的类人智能出现在几百万年前的非洲大…

JavaOne 2012 – 2400小时! 一些建议

您可能已经看到JavaOne 2012 Content Catalog在线。 计划委员会经过数周的艰苦工作,对每个提案进行了分类,审查,评分和讨论,我们终于为您设置了(希望如此)有趣的组合。 整整105天或2400个小时,我…

STM32F10x_硬件I2C主从通信(轮询发送,中断接收)

Ⅰ、写在前面 关注我分享文章的朋友应该知道我在前面讲述过(软件、硬件)I2C主机控制从机EEPROM的例子。在I2C通信主机控制程序是比较常见的一种,可以说在实际项目中,很多应用都会使用到I2C通信。但在实际项目中作为I2C从机的应用相…

JavaFX 2:创建登录表单

在本教程中,我将使用JavaFX 2和CSS设计漂亮的Login Form 。 它是经典的登录表单,带有用户名和密码以及登录按钮。 为了遵循本教程,我强烈建议您查看以下这些教程: Eclipse IDE中的JavaFX 2入门 JavaFX 2:HBox JavaFX…

怎么解决tomcat占用8080端口问题

怎么解决tomcat占用8080端口问题 相信很多朋友都遇到过这样的问题吧,tomcat死机了,重启eclipse之后,发现Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already in use.The server may already be running in…

页面传值的方法 和JSON与字符串和对象之间的转换

json数据解析 就是将json转换为数组或对象 json数据序列化 就是将数组或对象转化为json转载于:https://www.cnblogs.com/yaomengli/p/6678709.html

JasperReports JSF插件用例系列

这是文章系列的切入点,在该系列文章中,我将尝试介绍JasperReport JSF Plugin的一些用例, JasperReport JSF Plugin是一种工具,旨在轻松地将为JasperReports设计的业务报告集成到JSF应用程序中。 该系列中描述的所有示例都可以从Ja…

回归分析

一元线性回归模型: 一元线性回归分析的主要任务是: 解得: 三、检验、预测与控制: 1)F检验法: 2)t检验法 3)r检验法 3预测: 四、可线性化的一元非线性回归(曲线…

与传统的计算机硬件系统相比,计算机一级名词解释

目前微型机中普遍采用的字符编码是ASCII码。它是用7位二进制数对127个字符进行编码,其中前32个是一些不可打印的控制符号。多媒体系统由主机硬件系统、多媒体数字化外部设备和多媒体软件三部分组成。机器语言和汇编语言都是"低级"的语言,而高级…

【java】对象变成垃圾被垃圾回收器gc收回前执行的操作:Object类的protected void finalize() throws Throwable...

1 package 对象被回收前执行的操作;2 class A{3 Override4 protected void finalize() throws Throwable {5 System.out.println("在对象变成垃圾被gc收回前执行的操作。");6 }7 }8 public class Test_finalize {9 public static void main(…

服务器 风扇测试软件,图解服务器风扇安装的正确方法

一般不是太垃圾的机箱总有两个地方可以装风扇,前面的一般在硬盘托架处,后面的一般在电源下面,键盘口上方。有的机箱出厂就已经装好1~2个风扇了。图中越红的区域温度相对越高。应该什么样的风道合理呢?1、前后都装机箱风扇的情况应…

处理Weblogic卡住的线程

定义或卡线是什么? 如果线程 在设定 的时间 内连续工作(非空闲),则WebLogic Server会将其诊断为阻塞 。 您可以通过更改在诊断出线程被阻塞之前的时间长度( Stuck Thread Max Time ),以及通过更…

电话圈(floyd)

题意: 如果两个人相互打电话,则说他们在同一个电话圈里。例如,a打给b,b打给c,c打给d,d打给a,则这4个人在同一个圈里;如果e打给f但f不打给e,则不能推出e和f在同一个电话圈…

计算机二级网址打不开,大神为你解决win7系统打不开二级网页链接的操作教程...

许多win7系统电脑的时候,常常会遇到win7系统打不开二级网页链接的情况,比如近日有用户到本站反映说win7系统打不开二级网页链接的问题,但是却不知道要怎么解决win7系统打不开二级网页链接,我们依照首先我们打开IE浏览器,然后点击上…

3步实现Jetty和Eclipse集成

本教程将引导您逐步了解如何集成Jetty和Eclipse,以及如何在Eclipse中的Jetty服务器上运行Web应用程序。 脚步: 安装Jetty Eclipse插件 建立网路应用程式 运行网络应用 1 –安装Jetty Eclipse插件 将服务器添加到“服务器”视图时,将不会…

使用Akka处理1000万条消息

Akka演员承诺并发。 有什么更好的模拟方式,看看使用商品硬件和软件处理1000万条消息需要花费多少时间,而无需进行任何低级调整。我用Java编写了整个1000万条消息的处理过程,整个结果令我惊讶。 当我在具有Intel i5 – 4核,4 Gb RA…

dart服务器开发性能,DartVM服务器开发(第四天)--代码优化

优化请求上一篇文章中,我们通过依赖第三方http_server这个包实现将html页面返回给浏览器,但是一般的服务器都包含请求html,json格式的传递,这样就有可能造成了混乱,下面我们使用http_server这个包进行优化吧&#xff0…