zoukankan      html  css  js  c++  java
  • Redis五大数据类型——Set

    Redis五大数据类型——Set

    set中的值是不能重复的,是无序不重复集合。

    127.0.0.1:6379> sadd set v1		# set的底层是hashtable,返回插入元素的个数
    (integer) 1
    127.0.0.1:6379> sadd set v2
    (integer) 1
    127.0.0.1:6379> sadd set v3
    (integer) 1
    127.0.0.1:6379> SMEMBERS set		# 查看指定set中的所有元素
    1) "v1"
    2) "v2"
    3) "v3"
    127.0.0.1:6379> SADD set v1		# 添加重复的值就会失败,返回0
    (integer) 0
    127.0.0.1:6379> SISMEMBER set v1	# 查看指定set中的元素是否存在,存在返回1,不存在返回0
    (integer) 1
    127.0.0.1:6379> SISMEMBER set v4
    (integer) 0
    
    127.0.0.1:6379> SCARD set		# 查看set的大小,个数
    (integer) 3
    
    127.0.0.1:6379> SREM set v1		# 移除set中的指定元素
    (integer) 1
    127.0.0.1:6379> SCARD set
    (integer) 2
    127.0.0.1:6379> SMEMBERS set
    1) "v2"
    2) "v3"
    127.0.0.1:6379> SADD set v1 v4
    (integer) 2
    
    127.0.0.1:6379> SRANDMEMBER set		# 随机取元素
    "v2"
    127.0.0.1:6379> SRANDMEMBER set
    "v1"
    127.0.0.1:6379> SRANDMEMBER set
    "v2"
    127.0.0.1:6379> SRANDMEMBER set
    "v3"
    127.0.0.1:6379> SRANDMEMBER set 2	# 随机取指定个数的元素
    1) "v3"
    2) "v4"
    127.0.0.1:6379> SPOP set 		# 随机移除元素,返回移除的元素
    "v3"
    127.0.0.1:6379> SMEMBERS set
    1) "v1"
    2) "v2"
    3) "v4"
    
    # ================
    127.0.0.1:6379> sadd set1 v1 v2 v3
    (integer) 3
    127.0.0.1:6379> sadd set2 v4 v5 v6
    (integer) 3
    127.0.0.1:6379> SMOVE set1 set2 v1	# 将一个集合的指定元素,移动到另外的集合中去,(栈顶)
    (integer) 1
    127.0.0.1:6379> SMEMBERS set1
    1) "v2"
    2) "v3"
    127.0.0.1:6379> SMEMBERS set2
    1) "v1"
    2) "v6"
    3) "v5"
    4) "v4"
    
    # ================
    # 微博,B站,共同关注(交集)
    # 数字集合类:
    #  - 差集 SDIFF	
    #  - 交集
    #  - 并集 SINTER	共同好友
    
    127.0.0.1:6379> sadd k1 v1 v2 v3
    (integer) 3
    127.0.0.1:6379> sadd k2 v3 v4 v5
    (integer) 3
    127.0.0.1:6379> SDIFF k1 k2		# 得到在k1集合中,而不在k2集合中的元素
    1) "v1"
    2) "v2"
    127.0.0.1:6379> SINTER k1 k2		# 得到两个集合中的交集
    1) "v3"
    127.0.0.1:6379> SUNION k1 k2		# 并集
    1) "v2"
    2) "v5"
    3) "v3"
    4) "v4"
    5) "v1"
    

    微博,A用户在所有关注的人房子啊一个set集合中(用户id唯一),将他的粉丝也放在一个集合中。

    于是,就可以实现:

    • 共同关注(交集),共同爱好,推荐好友(六度分割理论)
  • 相关阅读:
    kubernetes上安装MongoDB-3.6.5集群副本集方式
    kubernetes Metrics-server 安装
    kubenetes 应用更新
    filebeat+logstash通过zabbix微信报警
    Redis持久化及复制
    kubernetes rabbitmq 集群安装配置
    kubernetes elasticsearch2.4 集群安装
    kubernetes --> kube-dns 安装
    详解Javascript中的Object对象
    提高代码质量:如何编写函数
  • 原文地址:https://www.cnblogs.com/liuhuan086/p/13581422.html
Copyright © 2011-2022 走看看