Redis数据结构(二)
来源:互联网 发布:美少女战士 知乎 编辑:程序博客网 时间:2024/06/15 18:48
本博客介绍Redis的数据结构(列表,集合)
一、列表
在Redis中可以对列表两端插入(push)和弹出(push)
还可以获取指定范围的元素列表、获取指定索引下标的元素。
1.列表有两个特点:
1.1 列表中的元素是有序的,这就意味着可以通过索引下标获取某个元素。
2.1 从右边插入元素:rpush key value[value ..]
2.2 从左边插入元素:lpush key value[value ..]
2.3 lrange0 -1命令可以从左到右获取列表的所有元素
2.4 向某个元素前或者后插入元素:linsert key before|afert pivot value
2.5 linsert命令会从列表中找到等于pivot的元素,在其前或后插入一个value
3.查找
3.1获取指定范围内的元素:lrange key start end
3.2索引下标有两个特点:
3.2.1 索引下标从左到右是0到n-1,但是从右到左是-1到-N
3.2.2 lrange中的end选项包含了自身
3.3获取列表中指定索引下标的元素:lindex key index
3.4获取列表长度:llen key
4.删除
4.1从列表左侧弹出元素:lpop key
4.2从列表右侧弹出元素:rpop key
4.3删除指定元素:lrem key count value
count >0 从左到右,删除最多count个元素
count <0 从右到左,删除最多count绝对值个元素
count =0 删除所有
5.修改
5.1 修改指定索引下标的元素 lset key index newValue
6.阻塞操作
阻塞弹出:
blpop key [key ..]timeout
brop key [key ..]timeout
blpop和brop是lpop和rpop的阻塞版本
二、集合
集合类型也是保存多个字符串元素,但是集合是无序的,不能通过索引下标获取元素
1.集合内操作
1.1添加元素:sadd key element[element ..]
1.2删除元素:srem key element[element ..]
1.3计算元素个数:scard key
1.4判断元素是否在集合中:sismember key element
1.5随机从集合内返回指定个数元素:srandmember key [count]
count是可选参数:默认为1
1.6从集合内随机弹出元素:spop key
1.7获取所有元素smembers key
2.集合间操作
1.求集合的交集:sinter key[key ...]
2.求多个集合的并集:sunion key [key ..]
3.求多个集合的差集:sdiff key [key ..]
一、列表
在Redis中可以对列表两端插入(push)和弹出(push)
还可以获取指定范围的元素列表、获取指定索引下标的元素。
1.列表有两个特点:
1.1 列表中的元素是有序的,这就意味着可以通过索引下标获取某个元素。
1.2 列表中的元素是可以重复的。
2.1 从右边插入元素:rpush key value[value ..]
2.2 从左边插入元素:lpush key value[value ..]
2.3 lrange0 -1命令可以从左到右获取列表的所有元素
2.4 向某个元素前或者后插入元素:linsert key before|afert pivot value
2.5 linsert命令会从列表中找到等于pivot的元素,在其前或后插入一个value
3.查找
3.1获取指定范围内的元素:lrange key start end
3.2索引下标有两个特点:
3.2.1 索引下标从左到右是0到n-1,但是从右到左是-1到-N
3.2.2 lrange中的end选项包含了自身
3.3获取列表中指定索引下标的元素:lindex key index
3.4获取列表长度:llen key
4.删除
4.1从列表左侧弹出元素:lpop key
4.2从列表右侧弹出元素:rpop key
4.3删除指定元素:lrem key count value
count >0 从左到右,删除最多count个元素
count <0 从右到左,删除最多count绝对值个元素
count =0 删除所有
5.修改
5.1 修改指定索引下标的元素 lset key index newValue
6.阻塞操作
阻塞弹出:
blpop key [key ..]timeout
brop key [key ..]timeout
blpop和brop是lpop和rpop的阻塞版本
二、集合
集合类型也是保存多个字符串元素,但是集合是无序的,不能通过索引下标获取元素
1.集合内操作
1.1添加元素:sadd key element[element ..]
1.2删除元素:srem key element[element ..]
1.3计算元素个数:scard key
1.4判断元素是否在集合中:sismember key element
1.5随机从集合内返回指定个数元素:srandmember key [count]
count是可选参数:默认为1
1.6从集合内随机弹出元素:spop key
1.7获取所有元素smembers key
2.集合间操作
1.求集合的交集:sinter key[key ...]
2.求多个集合的并集:sunion key [key ..]
3.求多个集合的差集:sdiff key [key ..]
阅读全文
0 0
- Redis数据结构(二)
- Redis数据结构(二)
- Redis数据结构(二)
- Redis数据结构(二)字典
- redis系列(二)数据结构
- Redis数据结构和对象(二)
- Redis数据结构详解之List(二)
- Redis数据结构详解之List(二)
- 重现Redis--数据结构与对象(二)
- Redis数据结构详解之List(二)
- 【Redis笔记(二)】 Redis数据结构 - string字符串
- Redis学习(二)——Redis数据结构简介
- redis数据结构之二-双端链表
- 初学redis二(Redis的数据结构)
- Redis系列----(二)redis中的数据结构类型
- RedisTemplate访问Redis数据结构(二)——List
- Redis设计与实现——数据结构(二)
- Redis数据结构(一)
- Apache Ignite——新一代数据库缓存系统
- tcp
- SpringMVC中controller返回json数据的两种方法
- C#中使用 StackExchange.Redis 封装属于自己的 RedisHelper
- Android之back键拦截处理
- Redis数据结构(二)
- Springmvc + Redis 整合
- 粗中有细分形图
- 2017好未来校招真题----倒置字符串
- HashMap的底层原理
- 第三周 项目2
- liunx下常见的命令汇总
- Android TV开发中所有的遥控器按键监听及注意事项
- 2018秋招 美团 关灯泡