Redis——五种基本数据类型与命令一篇详解

        本文将深入探讨Redis的五种主要数据类型与常用命令,通过示例的方式,让大家直观掌握 Redis原生命令的使用。

一、字符串(String)

字符串是 Redis 中最基本的数据类型。它可以存储任何形式的字符串,包括二进制数据。一个键最大能存储 512MB 的数据。

SET key value:将指定的键 key 设置为对应的值 value,用于创建或更新一个字符串类型的键值对。

GET key:获取指定键 key 对应的值,若键不存在则返回 nil

INCR key:将键 key 对应的值递增 1。如果键不存在,会先将其初始化为 0,然后再执行递增操作。此命令仅适用于值为数字字符串的情况。

DECR key:与 INCR 相反,将键 key 对应的值递减 1。同样,若键不存在,会先初始化为 0 再进行递减。

SET name "redis"
GET name
SET counter 5
DECR counter



二、哈希(Hash)

哈希类型用于存储对象,它将字段和值映射起来,类似于Python中的字典。适合存储用户信息、配置参数等结构化数据。

HSET key field value:在指定的哈希表 key 中,设置字段 field 为对应的值 value。可用于创建新的字段值对,或者更新已存在字段的值。

HGET key field:从指定的哈希表 key 中,获取字段 field 对应的值。若哈希表或字段不存在,返回 nil

HGETALL key:获取指定哈希表 key 中的所有字段和值,以键值对的形式返回。

HDEL key field [field...]:从指定的哈希表 key 中,删除一个或多个指定的字段。

HSET user:1 name "redis" age 30
HGET user:1 name
HGETALL user:1
HDEL user:1 age



三、列表(List)

列表是一个有序的字符串元素集合。可以从列表的两端插入或删除元素,常用于实现消息队列、排行榜等功能。

LPUSH key value [value...]:将一个或多个值依次插入到列表 key 的头部(左侧)。插入后,新元素成为列表的第一个元素。

RPUSH key value [value...]:将一个或多个值依次插入到列表 key 的尾部(右侧)。插入后,新元素成为列表的最后一个元素。

LPOP key:移除并返回列表 key 的第一个元素(头部元素)。若列表为空,返回 nil

RPOP key:移除并返回列表 key 的最后一个元素(尾部元素)。若列表为空,返回 nil

LRANGE key start stop:获取列表 key 中指定范围内的元素。startstop 为索引值,包含两端的元素。索引从 0 开始,若 stop-1,表示取到列表的最后一个元素。

LPUSH mylist "apple" "banana"
RPUSH mylist "cherry"
LPOP mylist
RPOP mylist
LRANGE mylist 0 1



四、集合(Set)

集合是一个无序的字符串元素集合,并且集合中的元素是唯一的。常被用于去重、交集、并集、差集等操作。

SADD key member [member...]:向集合 key 中添加一个或多个成员。若成员已存在于集合中,则不会重复添加。

SMEMBERS key:返回集合 key 中的所有成员,成员顺序是无序的。

SISMEMBER key member:判断成员 member 是否存在于集合 key 中。若存在,返回 1;否则返回 0

SINTER key [key...]:返回多个集合的交集。即返回同时存在于所有给定集合中的成员。

SUNION key [key...]:返回多个集合的并集。包含所有给定集合中的所有成员,重复成员只会出现一次。

SDIFF key [key...]:返回多个集合的差集。以第一个集合为基准,返回在第一个集合中但不在其他集合中的成员。

SADD myset "red" "green"
SMEMBERS myset
SISMEMBER myset "red"
SINTER myset set2
SUNION myset set2
SDIFF myset set2



五、有序集合(Sorted Set)

有序集合和集合类似,但每个元素都会关联一个分数(score),Redis 通过分数来对元素进行排序。适用于实现排行榜、按权重排序等场景。

ZADD key score member [score member...]:向有序集合 key 中添加一个或多个成员,并为每个成员关联一个分数 score。若成员已存在,则会更新其分数。

ZRANGE key start stop [WITHSCORES]:返回有序集合 key 中指定范围内的成员。成员按分数从小到大排序。startstop 为索引值,包含两端的元素。若使用 WITHSCORES 选项,会同时返回成员及其对应的分数。

ZREVRANGE key start stop [WITHSCORES]:与 ZRANGE 相反,返回有序集合 key 中指定范围内的成员,但成员按分数从大到小排序。同样,WITHSCORES 选项可用于同时返回成员及其分数。

ZSCORE key member:返回有序集合 key 中指定成员 member 对应的分数。若成员不存在,返回 nil


ZADD leaderboard 100 "user1" 200 "user2"
ZRANGE leaderboard 0 1 WITHSCORES
ZREVRANGE leaderboard 0 1 WITHSCORES
ZSCORE leaderboard "user2"



← 上一篇 Java进阶——常用类及常用方法详解
记得点赞、关注、收藏哦!
下一篇 Java进阶——数组超详细整理 →
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值