<?php declare(strict_types=1); ini_set('display_errors', 'On'); error_reporting(-1); /** * 打印变量的相关信息 * * @param mixed $value 要打印的表达式 * @param mixed ...$values 更多要打印的表达式 * @return void echo */ function v(mixed $value, mixed ...$values): void { ob_start(); // 打开输出控制缓冲 var_dump($value); echo ob_get_clean(); // 从缓冲区获取var_dump()的内容,然后清空缓冲区 foreach ($values as $v) { v($v); // 递归 } } $redis = new Redis(); $redis->connect('localhost'); $redis->auth('************'); $redis->flushAll(); // 先清空Redis里的所有数据,避免影响演示效果 $key = 'name'; // set集合键名 // 获取set集合元素个数 echo 'set集合元素个数:' . $redis->sCard($key) . PHP_EOL; // set集合元素个数:0 // 添加一个值到set集合 $count = $redis->sAdd($key, '刘一'); v($count); // int(1) // 一次添加两个值到set集合 $count = $redis->sAdd($key, '陈二', '张三'); v($count); // int(2) // 获取set集合元素个数 echo 'set集合元素个数:' . $redis->sCard($key) . PHP_EOL; // set集合元素个数:3 // 添加已存在的值到set集合 $count = $redis->sAdd($key, '张三'); v($count); // int(0) // 判断元素是否在集合中(存在的情况) $isMember = $redis->sIsMember($key, '张三'); v($isMember); // bool(true) // 判断元素是否在集合中(不存在的情况) $isMember = $redis->sIsMember($key, '李四'); v($isMember); // bool(false) // 获取set集合所有元素 $members = $redis->sMembers($key); v($members); // array(3) { // [0]=> // string(6) "张三" // [1]=> // string(6) "陈二" // [2]=> // string(6) "刘一" // } // 从set集合中删除元素 $count = $redis->sRem($key, '陈二'); v($count); // int(1) // 获取set集合所有元素 $members = $redis->sMembers($key); v($members); // array(2) { // [0]=> // string(6) "张三" // [1]=> // string(6) "刘一" // } //========== 总结 ==========// // 1、在Redis中,set集合的元素是无序且唯一的,单个set集合最多可存储4294967295个元素。
Copyright © 2025 码农人生. All Rights Reserved