$sjId,'aId' => $id,'cId' => $cId); } xhArticleCategory::batchAdd($catData); } /** * 管理员更新文章 */ public static function updateAllById($id,$data,$sjId) { xhArticle::updateById($id, $data); //删除原有的分类 xhArticleCategory::deleteByCondition(['aId' => $id,'sjId' => $sjId]); $idstring = $data['categoryId']; $ids = explode(',',$idstring); $ids = array_filter($ids);//删除空元素 $catData = array(); foreach($ids as $cId){ $catData[] = array('sjId' => $sjId,'aId' => $id,'cId' => $cId); } xhArticleCategory::batchAdd($catData); } public static function getById($id) { $cacheKey = dict::getCacheKey('article').$id; $article = Yii::$app->redis->executeCommand('HGETALL', [$cacheKey]); if(!empty($article)){ $arr = []; $i = 0; $x = 0; foreach($article as $key => $val){ $i++; if($i%2 == 0){ $arr[$x]['value'] = $val; $x++; }else{ $arr[$x]['key'] = $val; } } $articleArr = []; foreach($arr as $key => $val){ $articleArr[$val['key']] = $val['value']; } unset($articleArr['info_already_get_by_sql']); return $articleArr; } $article = xhArticle::find()->where(['id' => $id])->asArray()->one(); $params = [$cacheKey]; $params[] = 'info_already_get_by_sql'; $params[] = 'ok';//redis没有办法设置带空值的键,加此可以数据空时表示取过 if(!empty($article)){ foreach($article as $key => $val){ $params[] = $key; $params[] = $val; } } Yii::$app->redis->executeCommand('HMSET',$params); return $article; } public static function updateById($id,$data) { xhArticle::updateById($id, $data); self::getById($id); $cacheKey = dict::getCacheKey('article').$id; $articleParams = [$cacheKey]; foreach($data as $key => $val){ $articleParams[] = $key; $articleParams[] = $val; } Yii::$app->redis->executeCommand('HMSET',$articleParams);//更新缓存信息 } }