public function updateShareCache($share_id, $type = 'all')
 {
     $share_id = (int) $share_id;
     if (!$share_id) {
         return;
     }
     $share = FDB::fetchFirst('SELECT cache_data,share_data FROM ' . FDB::table('share') . ' WHERE share_id = ' . $share_id);
     if (!$share) {
         return;
     }
     $cache_data = fStripslashes(unserialize($share['cache_data']));
     switch ($type) {
         case 'tags':
             $cache_data['tags'] = ShareService::getShareTags($share_id, true);
             break;
         case 'collects':
             $cache_data['collects'] = ShareService::getShareCollectUser($share_id, 50);
             break;
         case 'comments':
             $cache_data['comments'] = ShareService::getNewCommentIdsByShare($share_id, 10);
             break;
         case 'imgs':
             $cache_data['imgs'] = ShareService::getShareImage($share_id, $share['share_data']);
             break;
         case 'all':
             $cache_data['tags'] = ShareService::getShareTags($share_id, true);
             $cache_data['collects'] = ShareService::getShareCollectUser($share_id, 50);
             $cache_data['comments'] = ShareService::getNewCommentIdsByShare($share_id, 10);
             $cache_data['imgs'] = ShareService::getShareImage($share_id, $share['share_data']);
             break;
     }
     unset($share['share_data']);
     $share['cache_data'] = addslashes(serialize($cache_data));
     FDB::update("share", $share, 'share_id = ' . $share_id);
 }