List操作,redis中的List在在内存中按照一个name对应一个List来存储

lpush(name,values)    --> 实际上是左添加
# 在name对应的list中添加元素,每个新的元素都添加到列表的最左边  # 如:     # r.lpush('oo', 11,22,33)     # 保存顺序为: 33,22,11  # 扩展:
# rpush(name, values) 表示从右向左操作

--------------------------------------------------------------------------------------------------------------------------------------

lpushx(name,value)    --> 存在则添加元素到列表
# 更多:     # rpushx(name, value) 表示从右向左操作

--------------------------------------------------------------------------------------------------------------------------------------

llen(name)   --> 查看list元素的个数

--------------------------------------------------------------------------------------------------------------------------------------

linsert(name, where, refvalue, value)) -->某元素前/后添加另一元素
# 在name对应的列表的某一个值前或后插入一个新值  # 参数:     # name,redis的name     # where,BEFORE或AFTER     # refvalue,标杆值,即:在它前后插入数据     # value,要插入的数据

--------------------------------------------------------------------------------------------------------------------------------------

r.lset(name, index, value)  --> 重新赋值/update操作
# 对name对应的list中的某一个索引位置重新赋值   # 参数:     # name,redis的name     # index,list的索引位置
# value,要设置的值

--------------------------------------------------------------------------------------------------------------------------------------

r.lrem(name, value, num)     --在name对应的list中删除指定的值
# 参数:     # name,redis的name     # value,要删除的值     # num,  num=0,删除列表中所有的指定值;          num=2,从前到后,删除2个;          num=-2,从后向前,删除2个

--------------------------------------------------------------------------------------------------------------------------------------

lpop(name)   -->列表的左侧获取第一个元素并在列表中移除,返回值是第一个元素
# 更多:     # rpop(name) 表示从右向左操作

lindex(name, index)  -->在name对应的列表中根据索引获取列表元素

lrange(name, start, end)  -->在name对应的列表分片获取数据
# 参数:     # name,redis的name     # start,索引的起始位置
# end,索引结束位置

--------------------------------------------------------------------------------------------------------------------------------------

ltrim(name, start, end)
# 在name对应的列表中移除没有在start-end索引之间的值
# 参数:     # name,redis的name     # start,索引的起始位置     # end,索引结束位置

--------------------------------------------------------------------------------------------------------------------------------------

rpoplpush(src, dst)
# 从一个列表取出最右边的元素,同时将其添加至另一个列表的最左边
# 参数:     # src,要取数据的列表的name     # dst,要添加数据的列表的name

--------------------------------------------------------------------------------------------------------------------------------------

blpop(keys, timeout)
# 将多个列表排列,按照从左到右去pop对应列表的元素  # 参数:     # keys,redis的name的集合     # timeout,超时时间,当元素所有列表的元素获取完之后,阻塞等待列表内有数据的时间(秒), 0 表示永远阻塞  # 更多:
# r.brpop(keys, timeout),从右向左获取数据

--------------------------------------------------------------------------------------------------------------------------------------

brpoplpush(src, dst, timeout=0)
# 从一个列表的右侧移除一个元素并将其添加到另一个列表的左侧  # 参数:     # src,取出并要移除元素的列表对应的name     # dst,要插入元素的列表对应的name     # timeout,当src对应的列表中没有数据时,阻塞等待其有数据的超时时间(秒),0 表示永远阻塞

Redis学习---Redis操作之List的更多相关文章

  1. Redis学习---Redis操作之Python连接

    PyCharm下的Redis连接 连接方式: 1. 操作模式 redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使 ...

  2. Redis学习——Redis持久化之AOF备份方式保存数据

    新技术的出现一定是在老技术的基础之上,并且完善了老技术的某一些不足的地方,新技术和老技术就如同JAVA中的继承关系.子类(新技术)比父类(老技术)更加的强大! 在前面介绍了Redis学习--Redis ...

  3. Redis学习——Redis事务

    Redis和传统的关系型数据库一样,因为具有持久化的功能,所以也有事务的功能! 有关事务相关的概念和介绍,这里就不做介绍. 在学习Redis的事务之前,首先抛出一个面试的问题. 面试官:请问Redis ...

  4. Redis学习——Redis持久化之RDB备份方式保存数据

    从这一个介绍里面知道,redis比memcache作为缓存数据库强大的地方,一个是支持的数据类型比较多,另一个就是redis持久化功能. 下面就介绍Redis的持久化之RDB! 一:什么是redis的 ...

  5. [转]Redis学习---Redis高可用技术解决方案总结

    [原文]https://www.toutiao.com/i6591646189714670093/ 本文主要针对Redis常见的几种使用方式及其优缺点展开分析. 一.常见使用方式 Redis的几种常见 ...

  6. 尚硅谷redis学习11-jedis操作redis

    前面学习了redis的知识后,下面学习一下如何在java中通过jedis操作redis. 所需jar包:commons-pool-xxxx.jar,jedis-xxx.jar 下面看一下常用操作: 1 ...

  7. Redis学习---Redis的免密操作

    Redis的免密操作 问题解决[方式一]:当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效 1.首先进入redis,如果没有开启redis则需要先开启: [r ...

  8. Redis学习---Redis操作之其他操作

    全局有效的其他操作 save 强制将内存/缓存中的key刷到硬盘上 ------------------------------------------------------------------ ...

  9. Redis学习---Redis操作之有序集合

    有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来做排序. zadd(name, *args, **kw ...

随机推荐

  1. NoSQL之HBase

    http://www.cnblogs.com/LBSer/p/3330383.html 9月初淘宝飞芃做了一个关于HBase的分享,讲的激情飞扬,让听众收益匪浅,现做下简单总结. HBase是一个No ...

  2. Struts ongl 集合伪属性

    首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的 ...

  3. java面试⑦高级部分

    2.6.2说一下Linux下面的一些常用命令 常用: pwd 获取当前路径 cd 跳转到目录 su -u 切换到管理员 ls 列举目录 文件操作命令: 文件 tail 查看 rm -rf 删除 vim ...

  4. Nginx设置静态页面压缩和缓存过期时间的方法

    使用nginx服务器的朋友可能都知道需要设置html静态页面缓存与页面压缩与过期时间的设置了,下面我来给各位同学介绍一下配置方法,包括对ico,gif,bmp,jpg,jpeg,swf,js,css, ...

  5. docker搭建私有registry

    搭建docker的私有registry 1.   registry简介 Docker在2015年推出了distribution项目,即Docker Registry 2.相比于old registry ...

  6. JS事件细分

    鼠标相关事件执行顺序 与 onmousedown 事件相关连得事件发生次序( 鼠标左侧/中间 按钮): onmousedown onmouseup onclick 与 onmousedown 事件相关 ...

  7. nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引

    今天添加新项目想添加几个工具包,打开NuGet就这样了  发生错误如下: [nuget.org] 无法加载源 https://api.nuget.org/v3/index.json 的服务索引. 响应 ...

  8. CentOS6.8启动Tomcat无法访问

    今天笔者在CentOS6.8的生产环境上配置Java环境,安装JDK,部署Tomcat,这本来是很简单的一件事,可是最后发现通过IP一直访问不了Tomcat的默认页面. 图1. 无法访问Tomcat默 ...

  9. Xcode8 log问题

    去除一堆log的方法: Xcode8--->Product---- Edit Scheme... -> Run -> Arguments, 在Environment Variable ...

  10. iOS--支付宝环境集成

    1.下载支付宝SDK以及Demo https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType= ...