lpush key value
作用: 把值插入到链接头部
127.0.0.1:6379> lpush character a
(integer) 1
127.0.0.1:6379> rpush character b
(integer) 2
127.0.0.1:6379> rpush character c
(integer) 3
127.0.0.1:6379> lpush character 0
(integer) 4
lrange key start  stop
作用: 返回链表中[start ,stop]中的元素
规律: 左数从0开始,右数从-1开始
127.0.0.1:6379> lrange character 1 2
1) "a"
2) "b"
127.0.0.1:6379> lrange character 1 3
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> lrange character 0 3
1) "0"
2) "a"
3) "b"
4) "c"
127.0.0.1:6379> lrange character 0 -1//所有元素
1) "0"
2) "a"
3) "b"
4) "c"
rpop key
作用: 返回并删除链表尾元素
127.0.0.1:6379> lpop character
"0"
127.0.0.1:6379> lrange character 0 -1
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> rpop character
"c"
127.0.0.1:6379> lrange character 0 -1
1) "a"
2) "b"
lrem key count value
作用: 从key链表中删除 value值
注: 删除count的绝对值个value后结束
Count>0 从表头删除
Count<0 从表尾删除
127.0.0.1:6379> lpush answer a b c a b d a
(integer) 7
127.0.0.1:6379> lrange answer 0 -1
1) "a"
2) "d"
3) "b"
4) "a"
5) "c"
6) "b"
7) "a"
127.0.0.1:6379> lrem answer  1 b
(integer) 1
127.0.0.1:6379> lrange answer 0 -1
1) "a"
2) "d"
3) "a"
4) "c"
5) "b"
6) "a"
127.0.0.1:6379> lrem answer -2 a
(integer) 2
127.0.0.1:6379> lrange answer 0 -1
1) "a"
2) "d"
3) "c"
4) "b"
ltrim key start stop
作用: 剪切key对应的链接,切[start,stop]一段,并把该段重新赋给key
127.0.0.1:6379> rpush character a b c d e f
(integer) 6
127.0.0.1:6379> lrange character 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"
127.0.0.1:6379> ltrim character 2 5
OK
127.0.0.1:6379> lrange character 0 -1
1) "c"
2) "d"
3) "e"
4) "f"
127.0.0.1:6379> ltrim character 1 -2
OK
127.0.0.1:6379> lrange character 0 -1
1) "d"
2) "e"
llen key
作用:计算链接表的元素个数
lindex key index
作用: 返回index索引上的值,
127.0.0.1:6379> lrange character 0 -1
1) "d"
2) "e"
127.0.0.1:6379> llen character
(integer) 2
127.0.0.1:6379> rpush character a b c
(integer) 5
127.0.0.1:6379> llen character
(integer) 5
127.0.0.1:6379> lindex character 4
"c"
127.0.0.1:6379> lindex character 0
"d"
linsert  key after|before search value
作用: 在key链表中寻找’search’,并在search值之前|之后,.插入value
注: 一旦找到一个search后,命令就结束了,因此不会插入多个value
127.0.0.1:6379> rpush num 1 3 6 8 9
(integer) 5
127.0.0.1:6379> lrange num 0 -1
1) "1"
2) "3"
3) "6"
4) "8"
5) "9"
127.0.0.1:6379> linsert num before 3 2
(integer) 6
127.0.0.1:6379> lrange num 0 -1
1) "1"
2) "2"
3) "3"
4) "6"
5) "8"
6) "9"
127.0.0.1:6379> linsert num after 9 10
(integer) 7
127.0.0.1:6379> lrange num 0 -1
1) "1"
2) "2"
3) "3"
4) "6"
5) "8"
6) "9"
7) "10"
rpoplpush source dest

作用: 把source的尾部拿出,放在dest的头部,

并返回 该单元值

业务逻辑:

1:Rpoplpush task bak

2:接收返回值,并做业务处理

3:如果成功,rpop bak 清除任务. 如不成功,下次从bak表里取任务

127.0.0.1:6379> rpush task a b c d
(integer) 4
127.0.0.1:6379> lrange task 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
127.0.0.1:6379> rpoplpush task job
"d"
127.0.0.1:6379> lrange job 0 -1
1) "d"
127.0.0.1:6379> rpoplpush task job
"c"
127.0.0.1:6379> lrange job 0 -1
1) "c"
2) "d"
127.0.0.1:6379> lrange task 0 -1
1) "a"
2) "b"

brpop ,blpop  key timeout

作用:等待弹出key的尾/头元素,

Timeout为等待超时时间

如果timeout为0,则一直等待

场景: 长轮询Ajax,在线聊天时,能够用到

Redis的List操作的更多相关文章

  1. redis的一些操作

    public class WnsRedisFactory { private static Cache pool = null; private static JedisConnectionFacto ...

  2. python之redis和memcache操作

    Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...

  3. redis的hash操作在集中式session中的应用

    在集群部署时,为了高可用性的目的,往往把session进行共享,共享分为两种:session复制和集中式管理. redis在session集中式管理中可以起到比较大的作用. 制约session集中式共 ...

  4. Redis客户端API操作 Jedis详解

    redis是一个著名的key-value存储系统,也是nosql中的最常见的一种.其实,个人认为,redis最强大的地方不在于其存储,而在于其强大的缓存作用. 我们可以把它想象成一个巨大的(多借点集群 ...

  5. Spring Boot 整合 Redis 实现缓存操作

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢!   『 产品没有价值,开发团队再优秀也无济于事 – <启示录> 』   本文提纲 ...

  6. 缓存数据库-redis数据类型和操作(list)

    转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部( ...

  7. redis键值操作

    1.1. redis键值操作 1.1.1. keys patten 查询相应的key 可以精确的查,也可以模糊的查 1.1.1.1. 通配符:* ? [] 在redis里,模糊查询key的时候有3个通 ...

  8. redis 批量删除操作

    redis 批量删除操作 需要在redis里面清空一批数据,redis没有支持通配符删除, 只有del key1 key2 ... 但是可以通配符获取 KEYS PATTERN 然后利用linux管道 ...

  9. thinkphp5.0上对redis的具体操作

    一.环境搭建 首先先安装composer.thinkphp5.0版本.和redis的windows版本的redis程序或者linux版本的redis程序,linux安装教程: https://www. ...

  10. redis连接数据库进行操作

    该项目需要的类目录 1.首先我们需要创建我们的实体类 2.放置我们的dao层,在里面写入方法 3.配置类Appconfig需要加入我们的JdbcTemplate方法,因为我们用的是spring,所以需 ...

随机推荐

  1. Android -- 与WEB交互在同一个会话Session中通信

    Session与Cookie Cookie和Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题而所做的努力. Session可以用Cookie来实现, ...

  2. [Z] 深入浅出 Systemd

    1. Systemd 的简介和特点 Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度.systemd 和 u ...

  3. 拓展Jquery对象,实现Post提交并跳转

    $.extend({ StandardPost:function(url,args){ var body = $(document.body), form = $("<form met ...

  4. 【Longest Valid Parentheses】cpp

    题目: Given a string containing just the characters '(' and ')', find the length of the longest valid ...

  5. git学习,什么是git?

    什么是 Git? 百度百科显示,Git是 Linux 之父 Linus Trovalds,为管理 Linux 内核代码而建立的,被认为是分布式版本控制工具中的顶级水准.智能.友好.强健.高效. 正如所 ...

  6. Java中HashMap排序

    注: 转载于 http://www.cnblogs.com/xingyun/archive/2012/12/09/2809962.html package com.holdobject; import ...

  7. 运用socket实现简单的服务器客户端交互

    Socket解释: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后一种意 ...

  8. linux用户配置和用户权限

    一.查看用户: (1)在终端里.输入:cat /etc/passwd,查看/etc/passwd文件就行了.(2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户. 查看当前在线用户 ...

  9. AJAX实现仿Google Suggest效果

    修复了一些细节代码(支持持续按键事件) *项目名称:AJAX实现类Google Suggest效果*作者:草履虫(也就是蓝色的ecma)*联系:caolvchong@gmail.com*时间:2007 ...

  10. Javascript全局变量的使用方法

    1.demo例子说明 <script type="text/javascript"> var gDivId; //js全局变量 function geocoder(la ...