网站开发看书,口子网站怎么做,福建省最新消息今天,开通微网站目录
1、set
2、set相关命令
2.1、添加元素 sadd
2.2、获取元素 smembers
2.3、判断元素是否存在 sismember
2.4、获取set中元素数量 scard
2.5、删除元素spop、srem
2.6、移动元素smove
2.7、集合中相关命令#xff1a;sinter、sinterstore、sunion、sunionstore、s…目录
1、set
2、set相关命令
2.1、添加元素 sadd
2.2、获取元素 smembers
2.3、判断元素是否存在 sismember
2.4、获取set中元素数量 scard
2.5、删除元素spop、srem
2.6、移动元素smove
2.7、集合中相关命令sinter、sinterstore、sunion、sunionstore、sdiff、sdiffstore
3、应用场景 1、set
set数据类型的特点;
set中的元素是无序的set中的元素不能重复set中支持多个几个取交集并集差集等~ 2、set相关命令
2.1、添加元素 sadd
sadd往集合中添加元素重复元素无法添加到集合中语法sadd key member [member ...]返回值成功添加元素的个数(集合已经存在的元素再次添加不算为添加成功)时间复杂度O(1)
举例 2.2、获取元素 smembers
smembers获取一个key中的所有元素元素顺序是无序的语法smembers key返回值集合中的所有元素时间复杂度O(1)
举例 2.3、判断元素是否存在 sismember
sismember语法返回值时间复杂度
举例 注当集合中存放的都是整数且数量不是特别多的情况下内部编码是intset,此时虽然是无序的但我本人猜测可能还是有处理的相对来说还是有序的从小到大 排列~ 当内部编码是hashtable时就是完全无序了~
2.4、获取set中元素数量 scard
scard获取一个set的基数也就是set中的元素个数语法scard key返回值set内的元素的个数时间复杂度O(1)
举例 2.5、删除元素spop、srem spop: 随机删除一个或多个元素由于set中元素是无序的所以具体删除哪个元素也是随机的 语法spop key [count] 【不带参数默认为1】返回值被删除的元素的值时间复杂度O(n) --- n-count
举例 srem删除集合中指定的元素 语法srem key member [member...]返回值成功删除的元素个数时间复杂度O(k)---被删除的个数~
举例 2.6、移动元素smove
smove将一个元素从一个集合中移动到另一个集合中~语法smove source destination member返回值命令执行成功返回1失败返回0时间复杂度O(1)
举例 2.7、集合中相关命令sinter、sinterstore、sunion、sunionstore、sdiff、sdiffstore sinter:获取指定set的交集中的元素 举例 语法sinter key [key...]返回值交集的元素时间复杂度O(n*m)----n是最小的集合元素个数m是最大的集合元素个数 sinterstore:获取指定set的交集中的元素并保存到另一个指定集合set中 举例
语法sinterstore destination key [key...]返回值交集元素个数时间复杂度O(n*m)----n是最小的集合元素个数m是最大的集合元素个数 sunion:获取指定的集合set的并集中的元素 语法sunion key [key...]返回值并集的元素时间复杂度O(N)---N为指定的所有的集合set的总的元素个数
举例 sunionstore:获取指定的集合set的并集中的元素并保存到指定的目标集合set中 语法sunionstore返回值并集的元素个数时间复杂度O(N)---N为指定的所有的集合set的总的元素个数
举例 sdiff:获取指定的集合set的差集中元素 语法sdiff key [key...]返回值差集的元素时间复杂度O(N)---N为指定的所有的集合set的总的元素个数
举例 sdiffstore: 语法sdiffstore返回值差集的元素个数时间复杂度O(N)---N为指定的所有的集合set的总的元素个数
举例 3、应用场景
3.1、使用set来保存用户的标签 例如最常见的“人物画像”给相应的用户打上对应标签后针对性给该用户推送他可能感兴趣的话题 或者例如:我们博客网站常常使用到的兴趣标签把一个个有着相同爱好关注类似内容的用户利用一个标签把他们进行归并
3.2、使用set计算用户间的共同好友 共同好友功能共同喜好或者可以引申到二度好友之类的扩展应用 例如QQ中有一个功能叫做你可能认识的人~
3.3、使用set统计UV PV:用户每次访问某一个服务器时都会产生一个pv UV:用户访问服务器会产生一个UV但同一个多次访问不会使UV增加所以使用set统计UV能够很好的做到去重~
好啦下期见啦~