redis中Set命令的基础操作

redis中Set命令的基础操作

本文讲解redis中的Set命令的基础操作。

基础操作

以下是 Redis Set 类型命令的案例:

  • SADD key member1 [member2 ...]:

    SADD fruits "apple" "banana" "orange"
    

    创建名称为 fruits 的集合,并向其中添加三个水果成员。

  • SMEMBERS key:

    SMEMBERS fruits
    

    返回 fruits 集合所有的元素:“apple”, “banana”, “orange”。

  • SISMEMBER key member:

    SISMEMBER fruits "grape"
    

    判断指定成员 “grape” 是否存在于 fruits 集合中。返回值:0(不存在)。

  • SCARD key:

    SCARD fruits
    

    返回 fruits 集合中的元素数量:3。

  • SREM key member1 [member2 ...]:

    SREM fruits "banana"
    

    从 fruits 集合中移除成员 “banana”。

  • SPOP key [count]:

    SPOP fruits
    

    随机移除并返回 fruits 集合中的一个元素,例如 “apple”。如果省略 count 参数,则默认弹出一个随机元素。

  • SRANDMEMBER key [count]:

    SRANDMEMBER fruits 2
    

    随机返回 fruits 集合中的两个元素,不会在集合中移除这些元素。例如 [“banana”, “orange”]。

  • SINTER key1 [key2 ...]:

    SADD fruits1 "apple" "orange"
    SADD fruits2 "banana" "orange"
    SINTER fruits fruits1 fruits2
    

    返回给定集合(fruits1 和 fruits2)和 fruits 集合的交集的所有元素:“orange”。

  • SUNION key1 [key2 ...]:

    SUNION fruits1 fruits2
    

    返回给定集合 fruits1 和 fruits2 的并集的成员 “apple”, “banana”, “orange”。

  • SDIFF key1 [key2 ...]:

    SDIFF fruits1 fruits
    

    返回属于 fruits1 集合但不属于 fruits 集合的成员:“orange”。

  • SINTERSTORE destination key1 [key2 ...]:

    SADD dict1 "hello" "world"
    SADD dict2 "hello" "everyone"
    SINTERSTORE both dict1 dict2
    

    创建一个名称为 both 的新集合,并将字典 dict1 和 dict2 的交集保存到该集合中。both 集合中的元素为:“hello”。

  • SUNIONSTORE destination key1 [key2 ...]:

    SUNIONSTORE all_fruits fruits1 fruits2
    

    创建一个名称为 all_fruits 的新集合,并将 fruits、fruits1 和 fruits2 集合的并集保存到该集合中。all_fruits 集合中的元素为:“apple”, “banana”, “orange”。

  • SDIFFSTORE destination key1 [key2 ...]:

    SDIFFSTORE dict_only dict1 dict2
    

    创建一个名称为 dict_only 的新集合,并将属于 dict1 但不属于 dict2 的成员保存到该集合中。dict_only 集合中的元素为:“world”。

具体应用

假设某个网站要查询文章信息,每篇文章都有一个关键词标签,为了方便检索,把所有关于某个专题的文章存储到一起,并将该专题所包含的所有文章关键词标签全部保存到以该专题名称为键名的集合中,例如“篮球”的文章对应的集合名称就叫做 “basketball_tags”。

举个例子,在 Redis 中,可以通过以下命令将文章保存并添加到相应的集合中:

SADD basketball_tags "NBA" "篮球教学" "篮球比赛"

以上命令会向 basketball_tags 集合中添加三个成员 “NBA”、“篮球教学”、“篮球比赛”。

如果需要获取属于“篮球”专题下所有文章的关键词标签,可以使用以下命令查询:

SMEMBERS basketball_tags

执行以上命令会返回成员 (“NBA”, “篮球教学”, “篮球比赛”)。

这样,网站就能成功地利用 Redis 的 Set 数据类型存储和检索文章关键词标签了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客李华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值