redis数据类型:lists
redis的list类型其实就是一个每个子元素都是string类型的双向链表。
我们可以通过push,pop操作从链表的头部或者尾部添加删除元素,这样list即可以作为
栈,又可以作为队列。
lpush方法:从头部添加字符串元素
lrange方法:从list中取数据,从头部取
127.0.01:6379> lpush list1 "hello" "word"
(integer) 2
127.0.01:6379> LRANGE list1 0 -1
1) "word"
2) "hello"
rpush方法:从尾部压入
127.0.01:6379> rpush list2 "hello" "word"
(integer) 2
127.0.01:6379> LRANGE list2 0 -1
1) "hello"
2) "word"
linsert方法:在指定键的list的指定元素前或者后插入
127.0.01:6379> rpush list2 "hello" "word"
(integer) 2
127.0.01:6379> LRANGE list2 0 -1
1) "hello"
2) "word"
127.0.01:6379> LINSERT list2 before "word" "in"
(integer) 3
127.0.01:6379> LRANGE list2 0 -1
1) "hello"
2) "in"
3) "word"
lset方法:设置list指定下标的元素值
127.0.01:6379> lpush list3 one two three
(integer) 3
127.0.01:6379> lrange list3 0 -1
1) "three"
2) "two"
3) "one"
127.0.01:6379> lset list3 0 onechange
OK
127.0.01:6379> lrange list3 0 -1
1) "onechange"
2) "two"
3) "one"
lrem方法:从key对应list中删除n个和value相同的元素。返回删除掉的个数
(n<0从尾部删除,n=0全部删除)
127.0.01:6379> rpush list2 "one" "one" "one"
(integer) 6
127.0.01:6379> lrange list2 0 -1
1) "hello"
2) "in"
3) "word"
4) "one"
5) "one"
6) "one"
127.0.01:6379> lrem list2 2 "one"
(integer) 2
127.0.01:6379> lrange list2 0 -1
1) "hello"
2) "in"
3) "word"
4) "one"
127.0.01:6379> lrem list2 1 "one"
(integer) 1
127.0.01:6379> lrange list2 0 -1
1) "hello"
2) "in"
3) "word"
127.0.01:6379> lrem list2 1 "one"
(integer) 0
ltrim方法:保留key对应list的指定范围的数据
127.0.01:6379> rpush list5 "one" "two" "three" "four"
(integer) 4
127.0.01:6379> lrange list5 0 -1
1) "one"
2) "two"
3) "three"
4) "four"
127.0.01:6379> LTRIM list5 1 2
OK
127.0.01:6379> lrange list5 0 -1
1) "two"
2) "three"
lpop方法:从list头部删除元素,并返回删除元素
rpop方法:从list的尾部删除元素,并返回删除元素
127.0.01:6379> rpush list6 "one" "two" "three"
(integer) 3
127.0.01:6379> lrange list6 0 -1
1) "one"
2) "two"
3) "three"
127.0.01:6379> rpop list6
"three"
127.0.01:6379> lpop list6
"one"
127.0.01:6379> lrange list6 0 -1
1) "two"
rpoplpush方法:从一个list中移除尾部元素,将这个元素添加到另一个list的头部
127.0.01:6379> lrange list2 0 -1
1) "hello"
2) "in"
3) "word"
127.0.01:6379> lrange list3 0 -1
1) "onechange"
2) "two"
3) "one"
127.0.01:6379> rpoplpush list2 list3
"word"
127.0.01:6379> lrange list2 0 -1
1) "hello"
2) "in"
127.0.01:6379> lrange list3 0 -1
1) "word"
2) "onechange"
3) "two"
4) "one"
lindex方法:返回名称为key的list中index位置的元素
127.0.01:6379> lrange list3 0 -1
1) "word"
2) "onechange"
3) "two"
4) "one"
127.0.01:6379> LINDEX list3 2
"two"
llen方法:返回key对应的list的长度
127.0.01:6379> lrange list3 0 -1
1) "word"
2) "onechange"
3) "two"
4) "one"
127.0.01:6379> llen list3
(integer) 4
redis数据类型:lists的更多相关文章
- Redis数据类型Strings、Lists常用操作指令
Redis数据类型Strings.Lists常用操作指令 Strings常用操作指令 GET.SET相关操作 # GET 获取键值对 127.0.0.1:6379> get name (nil) ...
- redis数据类型及使用场景
Redis数据类型 String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令: set,get,decr,incr,mge ...
- Redis数据类型和常用命令
Redis相较于其它的数据库虽然简单,但是要熟记所有命令的用法也并非易事.一个简单的技巧是通过要操作的数据类型来将这些命令进行结构化. 数据类型和对应命令 所有存储于redis中的数据都对应于一个键值 ...
- Redis数据类型简介(十分钟快速学习Redis)
如何在ubuntu18.04上安装和保护redis 如何连接到Redis数据库 如何管理Redis数据库和Keys 如何在Redis中管理副本和客户端 如何在Redis中管理字符串 如何在Redis中 ...
- Redis入门到放弃系列-redis数据类型
Redis数据类型? Redis 提供一些常用的数据类型:Strings.Lists.Sets.Sorted sets.Hashes.Arrays.Bitmap.Streams Strings(字符串 ...
- 初识redis数据类型
初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...
- Redis数据类型介绍
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...
- redis数据类型
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...
- Redis-cluster集群【第一篇】:redis安装及redis数据类型
Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...
- Lua 数据类型和 Redis 数据类型之间转换
当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua ...
随机推荐
- PHP不使用递归的无限级分类
不用递归实现无限级分类,简单测试了下性能比递归稍好一点点点,但写得太复杂了,还是递归简单方便点 代码: <?php $list = array( array('id'=>1, 'pid'= ...
- cos距离与欧式距离
1. 欧氏距离(EuclideanDistance) 欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式. (1)二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离: ( ...
- 【2】JavaScript编程全解笔记(二)
你过去的种种经历,就像人生的一颗颗珍珠,在未来的某一天,你找到了那根线,你就会把她们串联起来,变成美丽的项链. 第八章 客户端 JavaScript 与 HTML 1. 浏览器渲染页面的步骤 2. ...
- 通过反射获取所有的Action 一般用于权限管理
public IList<ActionPermission> GetAllActionByAssembly() { var result = new List<ActionPermi ...
- Registry Workshop(注册表编辑器) V4.6.3 官方中文版
软件名称: Registry Workshop(注册表编辑器)软件语言: 简体中文授权方式: 免费试用运行环境: Win7 / Vista / Win2003 / WinXP 软件大小: 1.1MB图 ...
- JQUERY 轮播插件
闲来无事,写个轮播插件,项目中用到的时候就无需在写了,不然会累死宝宝的 废话少说 代码上 html部分 <div class="lunbo"> <ul> & ...
- JDOM与DOM主要有两方面不同
我这丝毫没有吐槽的意思哟,只是想说作为一个合格的程序员大家最起码需要做到思维严谨这点,在有能力的情况下对用户体验能提点建议最好.自己写的代码一定要经过严格测试再交付,不要指望测试人员帮你测试再去修改, ...
- 原 iOS深入学习(Block全面分析)http://my.oschina.net/leejan97/blog/268536
原 iOS深入学习(Block全面分析) 发表于1年前(2014-05-24 16:45) 阅读(26949) | 评论(14) 39人收藏此文章, 我要收藏 赞21 12月12日北京OSC源创会 ...
- IO流数据读写总结
1.用java自带的IO读写方法 官方API网站:http://docs.oracle.com/javase/7/docs/api/ 2.Apache的Commons-io-2.4.jar中的方法,参 ...
- Linux MySQL5.5源码安装
环境:CentOS7,MySQL5.5 1.MySQL5.5源码下载 Oracle的网站打开较慢,http://mirrors.sohu.com/mysql/这里提供了MySQL的镜像.一般的,Lin ...