[PHP/MySQL] Отключение кэша MySQL

Discussion in 'PHP' started by Kuzya, 11 Aug 2009.

  1. Kuzya

    Kuzya Elder - Старейшина

    Joined:
    27 Apr 2008
    Messages:
    166
    Likes Received:
    106
    Reputations:
    30
    Здравствуйте. Тему создаю т.к. вообще не разбираюсь в механизмах работы с кэшированием в MySQL.
    Есть код добавления данных в БД и их последующего показа. На локальном компьютере скрипт легко выполняет эти операции. А на хостинге происходит какой-то глюк. Например в БД есть 4 записи. Захожу в скрипт, добавляю ещё одну. Скрипт показывает что новой записи нет, как будто не добавлено. В phpMyAdmin видно что записей стало 5. Создаю чистый скрипт, пишу в нём вывод запроса select count(id)... и он выдаёт мне 4! В phpMyAdmin тот же запрос выдаёт 5. Такое впечатление что MySQL запомнил первоначальный результат (4 строки) и теперь постоянно его выдаёт, а PMA работает в обход этому кэшу. Скажите пожалуйста, как сделать так чтоб проблема исчезла?
    Версия MySQL - 5.0.45
     
  2. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Ну тут может от запроса зависеть, покажи код, которым цепляешь данные из БД
     
  3. dr.5y51em

    dr.5y51em New Member

    Joined:
    3 Aug 2009
    Messages:
    5
    Likes Received:
    1
    Reputations:
    0
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-cache, must-revalidate");
    header("Cache-Control: post-check=0,pre-check=0", false);
    header("Cache-Control: max-age=0", false);
    header("Pragma: no-cache");
     
  4. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    Kuzya, браузер меняй xD
     
  5. Kuzya

    Kuzya Elder - Старейшина

    Joined:
    27 Apr 2008
    Messages:
    166
    Likes Received:
    106
    Reputations:
    30
    Причём тут браузер и кэширование в нём? Читайте пожалуста внимательнее вопрос. Я писал что не только браузер выдаёт устаревший результат, но и запросы типа SELECT COUNT(id)... говорят что количество записей не изменилось (хотя PMA показывает отлично и выдаёт другой результат).

    Pashkela, запрос самый обычный- SELECT * FROM news WHERE id=*
     
  6. KaMiKadZe

    KaMiKadZe Elder - Старейшина

    Joined:
    24 Feb 2006
    Messages:
    163
    Likes Received:
    35
    Reputations:
    19
    Попробуй select COUNT(id) и если результат не измениться значит проблема не в mysql
    или попробуй
    SELECT SQL_NO_CACHE COUNT (id)
     
  7. Kuzya

    Kuzya Elder - Старейшина

    Joined:
    27 Apr 2008
    Messages:
    166
    Likes Received:
    106
    Reputations:
    30
    Сейчас всё исправилось. Странно, видимо что-то делала администрация хостинга.
    Камикадзе, спасибо. Почитаю в интернете про SQL_NO_CACHE