/** * Получить список разговоров по списку айдишников, используя общий кеш * * @param array $aTalkId Список ID сообщений * @return array */ public function GetTalksByArrayIdSolid($aTalkId) { if (!is_array($aTalkId)) { $aTalkId = array($aTalkId); } $aTalkId = array_unique($aTalkId); $aTalks = array(); $s = join(',', $aTalkId); if (false === ($data = $this->Cache_Get("talk_id_{$s}"))) { $data = $this->oMapper->GetTalksByArrayId($aTalkId); foreach ($data as $oTalk) { $aTalks[$oTalk->getId()] = $oTalk; } $this->Cache_Set($aTalks, "talk_id_{$s}", array("update_talk_user", "talk_new"), 60 * 60 * 24 * 1); return $aTalks; } return $data; }
/** * Получить список разговоров по списку айдишников, используя общий кеш * * @param array $aTalkId Список ID сообщений * * @return array */ public function GetTalksByArrayIdSolid($aTalkId) { if (!is_array($aTalkId)) { $aTalkId = array($aTalkId); } $aTalkId = array_unique($aTalkId); $aTalks = array(); $sCacheKey = 'talk_id_' . join(',', $aTalkId); if (false === ($data = E::ModuleCache()->Get($sCacheKey))) { $data = $this->oMapper->GetTalksByArrayId($aTalkId); foreach ($data as $oTalk) { $aTalks[$oTalk->getId()] = $oTalk; } E::ModuleCache()->Set($aTalks, $sCacheKey, array("update_talk_user", "talk_new"), 'P1D'); return $aTalks; } return $data; }