面试题答案
一键面试Redis集合对象去重实现原理
Redis 的集合对象使用哈希表(Hash Table)来实现元素存储。当向集合中添加元素时,Redis 会计算元素的哈希值,通过哈希值来快速定位元素在哈希表中的存储位置。由于哈希表的特性,相同元素计算出的哈希值相同,在插入时若检测到哈希冲突且对应位置存储的元素与待插入元素相同,则不会重复插入,从而实现去重。
合并并去重两个 Redis 集合对象的命令及步骤
- 使用
SUNIONSTORE
命令- 语法:
SUNIONSTORE destination key [key ...]
- 步骤:
- 假设我们有两个集合
set1
和set2
,要将它们合并并去重后存储到新集合resultSet
中。 - 在 Redis 客户端执行命令:
SUNIONSTORE resultSet set1 set2
。 SUNIONSTORE
会将set1
和set2
合并,并自动去重,将结果存储到resultSet
中。
- 假设我们有两个集合
- 语法:
- 使用
SUNION
命令(如果不需要存储结果,仅获取合并去重后的元素)- 语法:
SUNION key [key ...]
- 步骤:
- 同样对于
set1
和set2
两个集合。 - 在 Redis 客户端执行命令:
SUNION set1 set2
。 - 该命令会返回
set1
和set2
合并且去重后的所有元素,但不会存储结果,适用于仅需查看合并去重后数据的场景。
- 同样对于
- 语法: