Проблема Alto CMS и XCache

Всем, добрый день. Столкнулся тут на одном проекте со следующей проблемой.

До недавнего времени использовал я на сайте файловое кеширование. Все было ОК, но меня перестала устраивать производительность. Поставил на сервер Xcache последней версии 3.2 и через некоторое время начал замечать странности, которые проявляются не постоянно: 1. После редактирования топика, если производилось изменения тегов, отображаются старые теги. При чем, если смотреть, например, на главной, — показываются старые теги. Переходишь в блог — там уже новые.
2. Если проголосовать за топик, а потом его отредактировать, то рейтинг у него становится равен 0. В таблице в поле topic_rating = 0, а topic_count_vote = 1. В таблице topic_vote мой голос тоже отображается. При попытке проголосовать за топик еще раз выдается ошибка, что я уже голосовал ранее.
3. При повтором входе на страницу с топиком после его редактирования и/или оставления комментария к нему, вываливается ошибка MySQL следующего вида:
SQL Error: Duplicate entry '370-2' for key 'topic_id_user_id' at /common/classes/modules/topic/mapper/Topic.mapper.class.php line 937
---
Array
(
    [code] => 1062
    [message] => Duplicate entry '370-2' for key 'topic_id_user_id'
    [query] => 
            INSERT INTO cs_topic_read
            (
                comment_count_last,
                comment_id_last,
                date_read,
                topic_id,
                user_id
            )
            VALUES (
                '0' ,
                '0' ,
                '2016-12-06 18:25:42' ,
                '370' ,
                '2'
            )
        
    [context] => /common/classes/modules/topic/mapper/Topic.mapper.class.php line 937

После обновления страницы раз 5 ошибка пропадает и все отображается корректно.

Измененный конфиг о кеше на данный момент:
$config['smarty']['compile_check']          = true;   // Проверять или нет файлы шаблона на изменения перед компиляцией, false может значительно увеличить быстродействие, но потребует ручного удаления кеша при изменения шаблона
$config['smarty']['force_compile']          = false;  // Принудительно компилировать шаблоны (отменяет действие 'compile_check')
$config['smarty']['merge_compiled_includes']= false;  // Слияние скомпилированных шаблонов (увеличивает скорость рендеринга при большом числе подшаблонов)
$config['smarty']['cache_lifetime']         = false;  // Кеширование отрендеренных шаблонов
$config['sys']['cache']['type']   = 'xcache';                         // тип кеширования по умолчанию
$config['sys']['cache']['dir']    = '___path.tmp.dir___/cache/';    // каталог для файлового кеша
$config['sys']['cache']['prefix'] = 'websitexxx';                   // префикс кеширования, чтоб можно было на одной машине держать несколько сайтов с общим кешевым хранилищем
$config['sys']['cache']['directory_level'] = 1;         // уровень вложенности директорий файлового кеша


При работе движка с кешем типа «файл» проблем подобных нет, но хотелось бы ради производительности кешировать все в памяти. Сталкивался ли кто-либо с чем-то подобным?

Похожие статьи

  • Кеширование
    Уважаемые гуру, помогите пожалуйста с настройкой кеширования. Перешел на php 5.6, там я так понял встроенный opcache работает. Нужно ли установить еще какое то кеширование на VPS или нет? Memcache и Xcache расширения ...

4 комментария

0
А php какая версия?
0
5.4.36
0
Вот сегодня проголосовал за 3 добавленных пользователем в свой блог топика. В самодельном блоке топ-блогов этот блог поднялся на 3 позицию. Закрыл сайт. Захожу через некоторое время — у топиков рейтинг 0 показывается, в блоке топов блога нет. Меняю кеш на file вместо xcache — все на месте, как и было.
0
Увы, не могу ничего вразумительного сказать по этому поводу. Сам я XCache не юзал, обходился всегда Мемкешем.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.