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. Spring4.x所有Maven依赖

    Spring4.x所有Maven依赖 定义Spring版本号 1 <properties> 2 <org.springframework.version>4.3.7.RELEA ...

  2. [BZOJ 5074]小B的数字

    Description 题库链接 给你一个长度为 \(n\) 的序列 \(a_1,a_2,\cdots,a_n\) ,让你生成另一个序列 \(b_1,b_2,\cdots,b_n\) ,使得 \(\f ...

  3. composer windows安装

    一.下载安装包安装 https://getcomposer.org/download/(由于墙的限制,可能下载可执行文件失败,即使成功,由于网络的原因,安装的时候也可能会失败,所以建议用第二种方法) ...

  4. 使用JS导出页面内容到Excel

    JS代码 <script> $(function(){ // 使用outerHTML属性获取整个table元素的HTML代码(包括<table>标签),然后包装成一个完整的HT ...

  5. 结束回调事件(开头必须cp开头,JSProperties传参)

    <dx:ASPxComboBox ID="comBrand" CssClass="case" ClientInstanceName="comBr ...

  6. 【转】sql server日期比较

    1. 当前系统日期.时间select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值例如:向日期加上2天select dateadd(day ...

  7. 添加右键使用 SublimeText 打开

    最近修改了系统,重新安装 SublimeText 但是在安装的时候忘记设置右键使用 SublimeText 打开,所以就需要写注册表. 可以复制下面的代码到一个记事本,然后保存为 sublime_ad ...

  8. [Linux] Linux系统(登陆、退出、修密码)

    登录linux系统,就是输入用户名,密码,回车就可以了 修改密码 使用命令passwd,输入新密码和确认密码,密码的规则要求较严,多试几次 使用命令whoami,查看当前用户信息 使用命令users或 ...

  9. 【原】使用Maven完成自动化打包并部署到Linux服务器下(Tomcat7)

    最近在使用maven,顺便尝试了下tomcat部署.网上找到了很多资料但是都不是最新的,所以贴上比较新的Tomcat7部署代码和配置,方便以后回顾-->测试OK. 1. 首先是配置Tomcat ...

  10. WCF中DataContract和MessageContract的区别

    一.代码案例 首选建立2个WCF Service,它们分别使用不同的Contract,同时创建一个Console控制台项目,作为Client: 其中,WcfServiceWithDataContrac ...