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-小项目(饿了么 网络部分 简单实现)

    在介绍小项目之前,在此说明一下此代码并非本人所写,我只是随笔的整理者. 在介绍之前先展现一下效果图. 看过效果图大家应该很熟悉了,就是饿了么的一个界面而已,值得注意的是,实现时并没有采用本地连接,而是 ...

  2. prompt() 方法,弹框带输入框

    prompt() 有alert的风格,却带着输入框,这是怎么实现的呢? 语法 prompt(text,defaultText) 参数 描述 text 可选.要在对话框中显示的纯文本(而不是 HTML ...

  3. 1-3 - C#语言习惯 - 推荐使用查询语法而不是循环

    C#语言中并不缺少控制程序流程的结构,for.while.do-while和foreach等都可以做到这点. 历史上所有计算机语言设计者都不曾遗漏这些重要的循环控制结构. 不过我们还有一个更好的方式: ...

  4. [Python核心编程] 第1章 欢迎来到Python世界

    什么是Python Python的起源 Python的特点 下载Python 安装Python 运行Python Python文档 比较Python 其他实现   1.什么是Python        ...

  5. WPF 自定义滑动ScrollViewer

    自定义滑动滚动条 预期目标:横向滚动条,可以左右滑动,用鼠标按住(触摸)然后释放可以实现快速滑动. 我们有几种方案: 1.ScrollViewer,修改其中的横向滚动条,将其中的背景设置为透明. 但是 ...

  6. WebStorm

    1,简介 WebStorm 10是一款强大的HTML5编辑工具,是 JetBrains 推出的一款商业的 JavaScript 开发工具.功能强大的前端专用IDE,拥有即时编辑(chrome).自动完 ...

  7. HTML 学习笔记 (canvas 基础)

    1.什么是Canvas canvas就是一个画布,可以进行画任何的线,图形,填充等一系列操作.这一切都是用Js操作的,另外Canvas不仅仅提供简单的二维矢量绘图,也提供了三维的绘图,以及图片处理等一 ...

  8. 安全测试 - XSS如何防御

    XSS主要是通过劫持用户COOKIE,执行JS脚本进行攻击 如何发现: 可以使用<script>alert(/yourname/)</script> script最具有代表性也 ...

  9. [LeetCode] Longest Repeating Character Replacement 最长重复字符置换

    Given a string that consists of only uppercase English letters, you can replace any letter in the st ...

  10. [LeetCode] Delete Node in a Linked List 删除链表的节点

    Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...