Redis 集�(Set)
Redis çš„ Set 是 String ç±»åž‹çš„æ— åº�集å�ˆã€‚集å�ˆæˆ�员是唯一的,这就æ„�味ç�€é›†å�ˆä¸ä¸�能出现é‡�å¤�的数æ�®ã€‚
集å�ˆå¯¹è±¡çš„ç¼–ç �å�¯ä»¥æ˜¯ intset 或者 hashtable。
Redis ä¸é›†å�ˆæ˜¯é€šè¿‡å“ˆå¸Œè¡¨å®žçŽ°çš„ï¼Œæ‰€ä»¥æ·»åŠ ï¼Œåˆ é™¤ï¼ŒæŸ¥æ‰¾çš„å¤�æ�‚度都是 O(1)。
集å�ˆä¸æœ€å¤§çš„æˆ�员数为 232 - 1 (4294967295, æ¯�个集å�ˆå�¯å˜å‚¨40多亿个æˆ�员)。
实例
redis 127.0.0.1:6379> SADD runoobkey redis (integer) 1 redis 127.0.0.1:6379> SADD runoobkey mongodb (integer) 1 redis 127.0.0.1:6379> SADD runoobkey mysql (integer) 1 redis 127.0.0.1:6379> SADD runoobkey mysql (integer) 0 redis 127.0.0.1:6379> SMEMBERS runoobkey 1) "mysql" 2) "mongodb" 3) "redis"
åœ¨ä»¥ä¸Šå®žä¾‹ä¸æˆ‘们通过 SADD 命令å�‘å��为 runoobkey 的集å�ˆæ�’å…¥çš„ä¸‰ä¸ªå…ƒç´ ã€‚
Redis 集�命令
下表列出了 Redis 集�基本命令:
| �� | 命令��述 |
|---|---|
| 1 | SADD key member1 [member2] å�‘集å�ˆæ·»åŠ ä¸€ä¸ªæˆ–å¤šä¸ªæˆ�员 |
| 2 | SCARD key 获�集�的�员数 |
| 3 | SDIFF key1 [key2] 返回第一个集�与其他集�之间的差异。 |
| 4 | SDIFFSTORE destination key1 [key2] 返回给定所有集å�ˆçš„差集并å˜å‚¨åœ¨ destination ä¸ |
| 5 | SINTER key1 [key2] 返回给定所有集�的交集 |
| 6 | SINTERSTORE destination key1 [key2] 返回给定所有集å�ˆçš„交集并å˜å‚¨åœ¨ destination ä¸ |
| 7 | SISMEMBER key member åˆ¤æ– member å…ƒç´ æ˜¯å�¦æ˜¯é›†å�ˆ key çš„æˆ�员 |
| 8 | SMEMBERS key 返回集å�ˆä¸çš„æ‰€æœ‰æˆ�员 |
| 9 | SMOVE source destination member å°† member å…ƒç´ ä»Ž source 集å�ˆç§»åŠ¨åˆ° destination 集å�ˆ |
| 10 | SPOP key 移除并返回集å�ˆä¸çš„一个éš�æœºå…ƒç´ |
| 11 | SRANDMEMBER key [count] 返回集å�ˆä¸ä¸€ä¸ªæˆ–多个éš�机数 |
| 12 | SREM key member1 [member2] 移除集å�ˆä¸ä¸€ä¸ªæˆ–多个æˆ�员 |
| 13 | SUNION key1 [key2] 返回所有给定集�的并集 |
| 14 | SUNIONSTORE destination key1 [key2] 所有给定集å�ˆçš„并集å˜å‚¨åœ¨ destination 集å�ˆä¸ |
| 15 | SSCAN key cursor [MATCH pattern] [COUNT count] è¿ä»£é›†å�ˆä¸çš„å…ƒç´ |
点我分享笔记