lpush 从头部压入数据

127.0.0.1:6379> lpush listname value1
(integer) 1//返回list的当前长度
127.0.0.1:6379> lpush listname value2
(integer) 2
127.0.0.1:6379> lpush listname value2
(integer) 3//成功添加重复的元素,说明list是可重复的
 
 
lpushx 当给定Listname的list存在的时候,从上面插入数据,否则不做任何操作
 
 
127.0.0.1:6379> lpushx listname0 value
(integer) 0
 
rpushx 从给定Listname的list存在的时候,从下面插入数据,否则不做任何操作
 
127.0.0.1:6379> rpushx listname0 value
(integer) 0
 
lrange 从头部到尾部(栈)获取指定索引范围的数据
lrange listname 0 -1
 
127.0.0.1:6379> lrange listname 0 0
1) "value2"
127.0.0.1:6379> lrange listname 0 1
1) "value2"
2) "value2"
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
 
 
rpush 从尾部压入元素
127.0.0.1:6379> rpush listname value0
(integer) 4
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) "value0"
 
linsert 中间插入
linsert listname before value1 value2在value1前面插入value2
127.0.0.1:6379> linsert listname before value0 value--
(integer) 5
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) “value--“ //成功插入
5) "value0"
 
127.0.0.1:6379> linsert listname before value2 value--
(integer) 6(成功插入)
127.0.0.1:6379> lrange listname 0 -1
1) “value--“ //插入到从上到下查找到的第一个匹配值的上面
2) "value2"
3) "value2"
4) "value1"
5) "value--"
6) "value0"
 
127.0.0.1:6379> linsert listname before  value-- value+
(integer) 7
127.0.0.1:6379> lrange listname 0 -1
1) "value+”//插入到从上到下查找到的第一个匹配值的上面
2) "value--"
3) "value2"
4) "value2"
5) "value1"
6) "value--"
7) "value0"
 
127.0.0.1:6379> linsert listname before value7 value8
(integer) -1//找不到value7 插入不成功
127.0.0.1:6379> lrange listname 0 -1
1) "value+"
2) "valuenew"
3) "value2"
4) "value2"
5) "value1"
6) "value--"
7) "value0"
 
lset 更新指定脚标的元素的value
127.0.0.1:6379> lset listname 1 valuenew
OK
127.0.0.1:6379> lrange listname 1 1
1) "valuenew"
127.0.0.1:6379> lset listname 7 value7
(error) ERR index out of range//脚标越界的时候,会提示error
 
lrem 删除指定个数的值为指定value的元素
lrem listname x value
//先添加一个value2
127.0.0.1:6379> linsert listname before valuenew value2
(integer) 8
127.0.0.1:6379> lrange listname 0 -1
1) "value+"
2) "value2"
3) "valuenew"
4) "value2"
5) "value2"
6) "value1"
7) "value--"
8) "value0"
//移除1个value2
127.0.0.1:6379> lrem listname 1 value2
(integer) 1
//最上面的value2被移除了
127.0.0.1:6379> lrange listname 0 -1
1) "value+"
2) "valuenew"
3) "value2"
4) "value2"
5) "value1"
6) "value--"
7) "value0"
 
 
lindex 返回指定角标的元素
lindex listname x
127.0.0.1:6379> lindex listname 0
"value+"
127.0.0.1:6379> lindex listname 7
(nil)//超出索引返回nill
127.0.0.1:6379> lindex listname -1
“value0”//脚标为负数的时候,从list底部开始找
127.0.0.1:6379> lindex listname -7
"value+"
127.0.0.1:6379> lindex listname -8
(nil)
 
lpop
从头部弹出一个元素,返回元素值并删除
127.0.0.1:6379> lpop listname
"value+"
127.0.0.1:6379> lpop listname
"valuenew"
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) "value--"
5) "value0"
 
rpop
从尾部弹出一个元素,返回元素值并删除
127.0.0.1:6379> rpop listname
"value0"
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) "value--"
 
ltrim删除除指定范围外的脚标元素
ltrim listname x1 x2 只保留从x1~x2之间的元素
127.0.0.1:6379> ltrim listname 0 -1
OK
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) "value--"
127.0.0.1:6379> ltrim listname 1 2
OK //成功删除脚标不在1-2之内的元素,这里删除了脚标为 0 3 的两个元素
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value1"
127.0.0.1:6379> ltrim listname 1 0
OK //删除1-0之外的元素,删除所有元素
127.0.0.1:6379> keys * //list被清除
(empty list or set)
 
//批量插入四条数据,注意版本问题,低版本的redis不支持批量插入
127.0.0.1:6379> lpush listname value-- value1 value2 value2
(integer) 4
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) "value--"
127.0.0.1:6379> lpush listname1 value value+ value-
(integer) 3
127.0.0.1:6379> lrange listname1 0 -1
1) "value-"
2) "value+"
3) "value"
 
rpoplpush从前一个list尾部弹出元素插入到第二个list头部
rpoplpush listname1 listname2
27.0.0.1:6379> RPOPLPUSH listname listname1
"value--"
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
127.0.0.1:6379> lrange listname1 0 -1
1) "value--"
2) "value-"
3) "value+"
4) "value"
 
 
llen返回list的长度
127.0.0.1:6379> llen listname
(integer) 3
127.0.0.1:6379> llen listname1
(integer) 4
 
 

redis 操作 list 的测试的更多相关文章

  1. redis 操作 hash 的测试

    1>hset setname field value hset stuSet name zhangsan:1        2>hget setname field hget stuset ...

  2. redis 操作string 的测试

    1>set  set name zhangsan :OK get name: zhangsan set name lisi:OK get name: lisi   2> setnx 如果存 ...

  3. redis实现主从复制-单机测试

    一.redis实现主从复制-单机测试1.安装redis tar -zxvf redis-2.8.4.tar.gzcd redis-2.8.4make && make install2. ...

  4. redis操作

    测试环境redis操作 cd /export/servers/redis-2.8.9/src/./redis-cli -n 0 keys keys(pattern):返回满足给定pattern的所有k ...

  5. Redis介绍及Jedis测试

    1.Redis简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes ...

  6. 在Go语言中基础的Redis操作

    在Go语言中基础的Redis操作 需要先安装redigo go get "github.com/garyburd/redigo/redis" Go语言Redis客户端的简单示例 连 ...

  7. redis 操作大全 PHP-redis中文文档

    转自  : http://www.cnblogs.com/weafer/archive/2011/09/21/2184059.html phpredis是php的一个扩展,效率是相当高有链表排序功能, ...

  8. Redis 集群缓存测试要点--关于 线上 token 失效 BUG 的总结

    在测试账户系统过程中遇到了线上大面积用户登录态失效的严重问题,事后对于其原因及测试盲点做了一些总结记录以便以后查阅,总结分为以下7点,其中原理性的解释有些摘自网络. 1.账户系统token失效问题复盘 ...

  9. Redis操作手册

    一.Redis简介 1.1 NoSQL NoSQL,泛指非关系型数据库,NoSQL数据库分为四大类:键值存储数据库(Redis,Voldemort,Oracle BDB).列存储数据库(HBase,R ...

随机推荐

  1. iOS项目iCloud及CloudKit Dashboard运用

    CloudKit是苹果推出的基于iCloud的一个云端数据存储服务.其 主要由下面两部分组成: 一个仪表web页面,用于管理公开数据的记录类型. 一组API接口,用于iCloud和设备之间的数据传递. ...

  2. AndroidProjects个人项目归纳

    AndroidProjects 个人总结归纳-目录大纲 Data Binding框架MVVM BaseView CollapseView 更新中... 项目地址:https://github.com/ ...

  3. WKWebView浅析

    原文链接:supermokey WKWebView 一个WKWebView对象展示交互的web内容,例如应用于app内的浏览器.你可以在你的App中使用WKWebView. 综述 Important: ...

  4. 详解java定时任务

    在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现.下面LZ就其原理.实例以及Timer缺陷三个方面来解析JavaTimer定时器. ...

  5. installshield使用教程

    从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,转而让大家去安装使用第三方的打包工具“InstallShield Limited Edition for Vis ...

  6. 办公OA的登陆界面..

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  7. Torch7在Ubuntu下的安装与配置

    Torch7的本系列教程的主要目的是介绍Torch的入门使用.今天首先分享一下Torch7的安装.(在Ubuntu14.04安装torch7) 为什么选择Torch Torch的目标是在建立科学算法的 ...

  8. [No00008A]bat改变cmd命令提示符颜色

    从Windows 95到现在的Windows 10,系统中带的DOS命令提示符软件都是黑白画面,下面教大家几个自定义DOS命令提示符颜色的小技巧. 改变DOS命令提示符的标题:在开始菜单点运行,输入 ...

  9. PAT 1042. 字符统计(20)

    请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式: 输入在一行中给出一个长度不超过1000的字符串.字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束( ...

  10. GO语言总结(3)——数组和切片

    上篇博文简单介绍了一下Go语言的基本类型——GO语言总结(2)——基本类型,本篇博文开始介绍Go语言的数组和切片. 一.数组 与其他大多数语言类似,Go语言的数组也是一个元素类型相同的定长的序列. ( ...