diff --git a/Rocksolid_Light/rocksolid/newsportal.php b/Rocksolid_Light/rocksolid/newsportal.php index c861ce3..a710f1f 100644 --- a/Rocksolid_Light/rocksolid/newsportal.php +++ b/Rocksolid_Light/rocksolid/newsportal.php @@ -2634,12 +2634,17 @@ function get_data_from_msgid($msgid, $thisgroup = null) if ($enable_cache) { $row_cache = $cache_key_prefix . '_' . 'get_data_from_msgid-' . $msgid; - if ($row = cache_get($row_cache, $memcacheD)) { + if ($row = unserialize(gzuncompress(cache_get($row_cache, $memcacheD)))) { + if(isset($row['msgid'])) { if ($enable_cache_logging) { file_put_contents($cache_log, "\n" . format_log_date() . " (cache hit) $row_cache", FILE_APPEND); } return $row; } + } else { + file_put_contents($cache_log, "\n" . format_log_date() . " (cache update) $row_cache", FILE_APPEND); + cache_delete($row_cache, $memcacheD); + } } $database = $spooldir . '/articles-overview.db3'; @@ -2664,7 +2669,7 @@ function get_data_from_msgid($msgid, $thisgroup = null) $dbh = null; if ($found) { if ($enable_cache) { - $nicole = cache_add($row_cache, $row, $cache_ttl, $memcacheD); + $nicole = cache_add($row_cache, gzcompress(serialize($row)), $cache_ttl, $memcacheD); if ($enable_cache_logging && $nicole) { file_put_contents($cache_log, "\n" . format_log_date() . " (cache write) $row_cache", FILE_APPEND); }