redis 五大数据类型之list篇
1.lpush/lpop/rpop/rpush/lrange
这里的list就是链表,lpush就是从左往右插入数据,rpush就是从右往左插数据,lrange就是从左往右范围性的取值,pop就是弹出的意思,同理lpop就是从左边弹出一个值,rpop就是从右弹出一个值
注意lrange是范围性的读取值,pop是弹出,数据弹出后,该list就没有这个值了。

| 5 | 4 | 3 | 2 | 1 |
-- 这个就是list01

| 1 | 2 | 3 | 4 | 5 |
-- 这个就是list02
同理lpop rpop


所以可以看出来 redis的list是一个双向的链表
3.llen

很明显就是用来查看list的长度的,java中的size方法
4.lindex,按照索引下标获得元素(从上到下)
--这里就是查看list01 列表中下角标为2的元素是什么,list的角标是从0开始的,所以这里角标为2的地方就是第三个数据就是2
5.lrem key 删N个value(list remove key) lrem key count value(就是删除key中的count个value值)
--删除了list01列表中的2个1值
--从这里可以看出lrem 命令删除元素的时候是从左往右遍历出来删除的。
6.ltrim key 开始index 结束index,截取指定范围的值后再赋值给key
--这里可以看出 ,是截取list02列表的下角标 1和2的数据重新赋值给了list02
7.lset key index value(给key列表的下角标为index的赋值value)
这里就是和lindex相辅相成了 这里就是给list列表中的某个下角标元素赋值

--当给超出list列表下角标范围赋值的时候,就会error index out of range
8.rpoplpush 源列表 目的列表(就是从源列表中右边弹出一个数据从左到右的插到目的列表中去)

9.linsert key before/after 值1 值2(这里就是在key列表的值1前面或者后面插入一个值2,这里很明显要从左往右遍历找到值1然后再根据前继或者后继插入值2)
--这里就是在list01 列表的值为1的地方前面插入vv
10.性能
它是一个字符串链表,left、right都可以插入添加;
如果键不存在,创建新的链表;
如果键已存在,新增内容;
如果值全移除,对应的键也就消失了。
链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。
redis 五大数据类型之list篇的更多相关文章
- redis 五大数据类型之string篇
一: 1:string(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis ...
- redis 五大数据类型之hash篇
1.hset/hget/hmset/hmget/hgetall/hdel --hgetall 是以截图中 key-value 分别一一显示出来,k1对应v1 ,k2对应v2 2.hlen 3.hexi ...
- redis 五大数据类型之set篇
1.sadd/smembers/sismember --set集合赋值 查看值, --sismember 是查看set集合是否有指定的值,有返回1 没有返回0 2.scard,获取集合里面的元素个数 ...
- Redis五大数据类型的常用操作
在上一篇博文<centos安装redis>中,已经详细介绍了如何在centos上安装redis,今天主要介绍下Redis五大数据类型及其五大数据类型的相关操作. Redis支持五种数据类型 ...
- 一文搞定Redis五大数据类型及应用场景
本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的 ...
- redis 五大数据类型使用
redis 五大数据类型使用 字符串str 单个值 127.0.0.1:6379> set name pp # 设置键值[O(1)] OK 127.0.0.1:6379> setex na ...
- 《Redis入门指南(第二版)》读书思考总结之Redis五大数据类型
热身:系统级命令 1. 获得符合规则的键名列表 KEYS pattern 模式匹配 产品的缓存:product+"."+....; => keys product* 订单的 ...
- Redis五大数据类型详解
关于Redis的五大数据类型,它们分别为:String.List.Hash.Set.SortSet.本文将会从它的底层数据结构.常用操作命令.一些特点和实际应用这几个方面进行解析.对于数据结构的解析, ...
- redis五大数据类型以及常用操作命令
Redis的五大数据类型 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意 ...
随机推荐
- LeetCode--014--最长公共前缀(java)
编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow" ...
- LeetCode--004--寻找两个有序数组的中位数(java)
转自https://blog.csdn.net/chen_xinjia/article/details/69258706 其中,N1=4,N2=6,size=4+6=10. 1,现在有的是两个已经排好 ...
- vue 点击一个div,使input获得焦点
<div class="inputMessage" @click="inputMessage">输入留言</div> <input ...
- Music in Car CodeForces - 746F (贪心,模拟)
大意: n首歌, 第$i$首歌时间$t_i$, 播放完获得贡献$a_i$, 最多播放k分钟, 可以任选一首歌开始按顺序播放, 最多选w首歌半曲播放(花费时间上取整), 求贡献最大值. 挺简单的一个题, ...
- MyBatis中mybatis-generator代码生成的一般过程
MyBatis框架的使用,可以参考我的文章: https://blog.csdn.net/JayInnn/article/details/81746571(基于Mybatis实现一个查库的接口) ht ...
- 『MXNet』第一弹_基础架构及API
MXNet是基础,Gluon是封装,两者犹如TensorFlow和Keras,不过得益于动态图机制,两者交互比TensorFlow和Keras要方便得多,其基础操作和pytorch极为相似,但是方便不 ...
- strom:实时的WordCount
集采单词 package wordcount; import java.io.File; import java.io.IOException; import java.util.Collection ...
- oracle 常用字符串函数
select initcap('guodongdong') from dual; /返回字符串并将字符串的第一个字母变为大写; s ...
- 使用Swagger2构建强大的RESTful API文档(2)(二十三)
添加文档内容 在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容.如下所示,我们通 ...
- linux git:fatal: HTTP request failed
问题 问题的出现比较奇怪 我一台电脑 git clone 没问题 另外一台电脑 git clone 有问题 解决 yum update nss nss-util nspr 参考 https: ...