Redis学习笔记:Set类型内部编码及其应用场景

2018-08-11  本文已影响7人  Vechace

一、概述

集合(Set)类型是用来保存多个字符串元素,但是与list类型不停,集合中不允许有重复元素,一个集合最对可以存储2^32-1个元素,Redis除了支持集合内的增删改查,同时还支持多个集合的交并差集操作,合理地使用集合可以在实际开发中解决很多实际问题。

二、常用命令

1.集合内操作

2.集合间操作

三、内部编码

集合类型的内部编码有两种:

在实际开发过程中,合理地设计集合元素类型,并预估元素个数,可以有效减少内存资源的消耗。

四、使用场景

集合类型典型的使用场景是标签功能(tag),标签数据对用户体验以及增强用户粘度比较重要(在推荐系统中尤其重要);

下面简单介绍如何使用集合类型实现标签功能的若干功能:

1.给用户添加标签:

    sadd user:1:tags  tag1  tag2  tag3
    sadd user:2:tags  tag1  tag2  tag4
    ...
    sadd user:2:tags  tag1  tag2  tag5

2.给标签添加用户:

    sadd tag1:users user:1  user:2
    sadd tag2:users user:1  user:3
    ...
    sadd tag3:users user:1  user:4

3.删除用户下的标签:

    srem  user:1:tags  tag1  tag5

4.计算用户通过感兴趣的标签:

    sinter user:1:tags user:2:tags

备注:在开发过程中,用户和标签的关系维护应该在一个事务里面执行,防止部分命令失败造成数据不一致。

总结:实际开发一个标签系统远不止以上这些,还有很多复杂的情况需要考虑,不过集合类型的应用场景通常为以下几种:

感谢阅读~

参考资料:


《Redis开发与运维》

上一篇下一篇

猜你喜欢

热点阅读