php 获取redis中所有包含指定key的数组,循环数组,并将匹配的元素删除 公用的redis配置文件循环匹配查询 公用的redis配置文件 <?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); ?> 循环匹配查询 <?php //应用公共用的redis配置文件 include('redis.conf.php'); //当前店铺id $shop_id=13; //当前类型id $activity_id=102; //得到要查询的key值 $activity_key_local="activity_".$activity_id."_shop"; //开始查询所有的activity_*_shop 的key $activity_key_all="activity_*_shop"; //得到一个数组, $activity_all=$redis->keys($activity_key_all); echo "<pre>"; print_r($activity_all); //循环遍历 foreach($activity_all as $v){ echo "<br>"; echo $activity_key=$v; echo "<br>"; //当循环的key值不等于指定的key值,处理 if($activity_key !=$activity_key_local){ //得到不相等的key集合中的元素 $acitvity_info=$redis->smembers($activity_key); foreach($acitvity_info as $ac){ echo "<pre>"; print_r($ac); //如果ac的值等于shop_id的值,则删掉 if($ac == $shop_id){ echo "将匹配成功的集合中的指定元素用srem删除"; $redis->sRem($activity_key,$shop_id); } } } } ?>