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类型是二进制安全的.意 ...
随机推荐
- 以太坊 web3.js 文档翻译及说明
这些天,为了录制以太坊DAPP开发实战课程,我准备把web3文档全部翻译一下(并做适当的补充),目前web3.js 0.20.x 版本 已经翻译完成,欢迎大家前往查阅. 这里还几个实用DEMO,供大家 ...
- 在mk/rte.app.mk 256行加echo $(O_TO_EXE_DO)查看GCC参数
在mk/rte.app.mk 256行加echo $(O_TO_EXE_DO)查看GCC参数,如:
- Ftp服务端安装-Linux环境
目的 为什么要搭建FTP服务器,进入maven仓库下载Jar包时点击相应的链接进去会看到目录结构,这个就是ftp站点.可以随意的下载. 环境 Linux系统为CentOS6.5 安装步骤 查询是否已安 ...
- 小程序点击事件改变样式(普通js鼠标点击事件)
1.wxml中 <view class="column"> <view class="body-view {{num==1?'active':''}}& ...
- selenum threding多线程运行 实例
1.配置相关驱动 chrome驱动 下载驱动,配置到环境变量中 如 xxxxchrome.jar 将其新建目录c:/driver---将目录 配置到环境变量 firefox驱动 下载驱动,将gecko ...
- Robbers' watch CodeForces - 685A (暴力)
大意: 一天n小时, m分钟, 表以7进制显示, 求表显示数字不同的方案数 注意到小时和分钟部分总长不超过7, 可以直接暴力枚举. 关键要特判0, 0的位数要当做1来处理 #include <i ...
- Qt与JS(三)
Qt不错的学习网址: http://www.cnblogs.com/findumars/p/5529526.html ----------------------------------------- ...
- php把数据转换为json格式
public function demos(){ $data=[ 'state'=>1, 'msg'=>'更新成功' ]; return json_encode($data); }
- python---多线程与多进程
一. 单进程多线程 1. 使用的模块是Threading.使用join()函数进行阻塞. from pdf2txt import pdfTotxt1, pdfTotxt2 import xlrd im ...
- mongodb细节
MongoDB中数值型默认为Double,可以使用NumberInt()函数及NumberLong()函数分别指定某个字段为整型和长整型.