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. [project euler] program 4

    上一次接触 project euler 还是2011年的事情,做了前三道题,后来被第四题卡住了,前面几题的代码也没有保留下来. 今天试着暴力破解了一下,代码如下: (我大概是第 172,719 个解出 ...

  2. iOS系列 基础篇 03 探究应用生命周期

    iOS系列 基础篇 03 探究应用生命周期 目录: 1. 非运行状态 - 应用启动场景 2. 点击Home键 - 应用退出场景 3. 挂起重新运行场景 4. 内存清除 - 应用终止场景 5. 结尾 本 ...

  3. webform(十)——图片水印和图片验证码

    两者都需要引入命名空间:using System.Drawing; 一.图片水印 前台Photoshuiyin.aspx代码: <div> <asp:FileUpload ID=&q ...

  4. javascript-模板方法模式-提示框归一化插件

    模板方法模式笔记   父类中定义一组算法操作骨架,而将一些实现步骤延迟到子类中,使得子类可以不改变父类的算法结构的同时可重新定义算法中某些实现步骤   实例:弹出框归一化插件 css样式 ;width ...

  5. EZchip将推全球首款100核64位ARM A-53芯片

    EZchip将推全球首款100核64位ARM A-53芯片 2015-02-25 16:32:03   来源:互联网    关键字: 将推  全球  64位  arm EZchip日前表示,将准备开发 ...

  6. Windows Installer 服务启动错误 14007 的解决办法

    问题: 在 本地计算机 无法启动 Windows Installer 服务. 错误代码 14007: 在活动的激活上下文中没有找到任何查找密钥. 这个问题似乎涉及到 Windows Installer ...

  7. Python 字符串相加问题

    今天在用Python拼接字符串时碰到个问题,从数据库取出来的数据以及获取到的时间等数据拼成了一个字符串a,将字符串a与自定义的字符串b拼接时一直中断,无法继续执行,也没有报错,将数据库取出数据变成自定 ...

  8. jquery ajax在跨域访问post请求的时候,ie9以下无效(包括ie9)

    1. 设置浏览器安全属性,启用[通过域访问数据源]选项,如图:

  9. 《WePayUI组件设计的秘密》——2016年第一届前端体验大会分享

    本文是博主参加第一届前端体验大会 | 物勒工名做的分享<WePayUI组件设计的秘密>,内容主要分为2个部分: 一.浅析UI库/框架的未来 讨论的UI库或者框架,主要包含展示和交互的css ...

  10. 安全测试 - SQL注入

    1. 工具测试: 使用SQLMAP进行扫描 2. 手工测试: 观察参数的值value是否为数字型.如果是数字型进行数字型测试,否则跳到第4步进行字符型测试(例如如果出现a那说明是字符型,如果出现2则将 ...