require_once '../../CacheRedis.php'; $server = '127.0.0.1:6379'; $redis = CacheRedis::getInstance($server); $key1 = 'set:1'; $key2 = 'set:2'; $key3 = 'set:3'; $res = $redis->sAdd($key1, 1, 2, 3, 4); $res = $redis->sAdd($key2, 2, 3, 4); $res = $redis->sAdd($key3, 3, 4, 5, 6); $redis->expire($key1, 5); $redis->expire($key2, 5); $redis->expire($key3, 5); // 集合间操作 // sinter: 求多个集合的交集 $res = $redis->sInter($key1, $key2, $key3); var_dump($res); // sunion: 求多个集合的并集 $res = $redis->sUnion($key1, $key2, $key3); var_dump($res); // sdiff: 求多个集合的差集(第一个集合 - 其他集合, 也就说,结果是返回第一个集合中特有的元素) $res = $redis->sDiff($key1, $key2, $key3); var_dump($res); $key1_store = 'set:s:1'; // sinterstore: 计算交集并将结果保存 ps: sUnionStore sDiffStore $res = $redis->sInterStore($key1_store, $key1, $key2, $key3); var_dump($res); $res = $redis->sMembers($key1_store); var_dump($res); // ps: 集合间的运算都比较耗时,所以,在数据量非常大的情况下,一般都是异步使用(脚本预热数据等方式), 使用store命令将结果缓存下来,使用的时候不需要实时计算,直接从缓存中取
推荐: redis基础&实战教程
🚀 易享写作 - 专业在线小说创作工具
欢迎使用 易享写作 (MakeANovel) —— 一款专为小说创作者设计的在线平台。无论您是网文作家、文学爱好者还是故事创作者,这里都能提供您所需的强大工具。
- 人物关系图生成器:可视化梳理复杂角色关系,创作更轻松。
- 在线创作与保存:实时保存,多设备同步,灵感永不丢失。
- 作品系统管理:清晰管理您的所有小说项目和章节。
- 便捷分享与反馈:方便获取读者意见,助力作品完善。


