Redis自学笔记 --Hash、List、Set类型简述

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

Hash类型                                                                                   

hset key field value

设置hash field为指定,如果key不存在,则先创建。

hget key field

获取指定的hash field。

hmget key filed1....fieldN

获取全部指定的hash filed。

hmset key filed1 value1 ... filedN valueN

同时设置hash的多个field。

hincrby key field integer

将指定的hash filed 加上给定值

hexists key field

测试指定field是否存在

hdel key field

删除指定的hash field。

hlen key

返回指定hash的field数量

hkeys key

返回hash的所有field

hvals key

返回hash的所有value

hgetall

返回hash的所有filed和value

List类型                                                                                   

lpush key string

在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型。

rpush key string

尾部添加

llen key

返回key对应list的长度,key不存在返回0,如果key对应类型不是list返回错误。

lrange key start end

返回指定区间内的元素下标从0开始,负值表示从后面计算,-1表示倒数第一个元素 ,key不存在返回空列表。

ltrim key start end

截取list保留指定区间内元素,成功返回1,key不存在返回错误。

lset key index value

设置list中指定下标的元素值,成功返回1,key或者下标不存在返回错误。

lrem key count value

从key对应list中删除count个和value相同的元素。count为0时候删除全部。

lpop key

从list的头部删除元素并返回删除元素。如果key对应list不存在或者是空返回nil,如果key对应值不是list返回错误。

rpop

从尾部删除

blpop key1...keyN timeout

从左到右扫描返回对第一个非空list进行lpop操作并返回,比如blpop list1 list2 list3,如果list不存在list2,list3都是非空则对list2做lpop并返回从list2中删除的元素。如果所有的list都是空或不存在,则会阻塞timeout秒,timeout为0表示一直阻塞。如果超时发生,则返回nil。

rpoplpush srckey destkey

从srckey对应list的尾部移除元素并添加到destkey对应list的头部,最后返回被移除的元素值,整个操作是原子的.如果srckey是空或者不存在返回nil。

Set类型                                                                                   

sadd key member

添加一个string元素到,key对应的set集合中,成功返回1,如果元素以及在集合中返回0,key对应的set不存在返回错误。

srem key member

从key对应set中移除给定元素,成功返回1,如果member在集合中不存在或者key不存在返回0,如果key对应的不是set类型的值返回错误。

spop key

删除并返回key对应set中随机的一个元素,如果set是空或者key不存在返回nil。

srandmember key

同spop,随机取set中的一个元素,但是不删除元素smove srckey dstkey member 从srckey对应set中移除member并添加到dstkey对应set中,整个操作是原子的。成功返回1,如果member在srckey中不存在返回0,如果key不是set类型返回错误。

scard key

返回set的元素个数,如果set是空或者key不存在返回0。

sismember key member

判断member是否在set中,存在返回1,0表示不存在或者key不存在。

sinter key1 key2...keyN

返回所有给定key的交集

sunion key1 key2...keyN

返回所有给定key的并集

sunionstore dstkey key1...keyN

同sunion,并同时保存并集到dstkey下

sdiff key1 key2...keyN

返回所有给定key的差集

sdiffstore dstkey key1...keyN

同sdiff,并同时保存差集到dstkey下

smembers key

返回key对应set的所有元素,结果是无序的。




本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3601425.html,如需转载请自行联系原作者

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5天前
|
存储 消息中间件 NoSQL
Redis数据结构:List类型全面解析
Redis数据结构——List类型全面解析:存储多个有序的字符串,列表中每个字符串成为元素 Eelement,最多可以存储 2^32-1 个元素。可对列表两端插入(push)和弹出(pop)、获取指定范围的元素列表等,常见命令。 底层数据结构:3.2版本之前,底层采用**压缩链表ZipList**和**双向链表LinkedList**;3.2版本之后,底层数据结构为**快速链表QuickList** 列表是一种比较灵活的数据结构,可以充当栈、队列、阻塞队列,在实际开发中有很多应用场景。
|
13天前
|
NoSQL 关系型数据库 MySQL
Redis 列表(List)
10月更文挑战第16天
13 2
|
16天前
|
消息中间件 存储 监控
redis 的List类型 实现 排行榜
【10月更文挑战第8天】
36 2
|
16天前
|
存储 NoSQL Redis
redis-set类型
【10月更文挑战第6天】
33 1
|
26天前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
24 3
|
5月前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
834 1
|
4月前
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
|
4月前
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
4月前
|
存储 安全 Java
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
|
5月前
|
Java API
使用 Java 来实现两个 List 的差集操作
使用 Java 来实现两个 List 的差集操作
113 3