За последние 24 часа нас посетили 17586 программистов и 1722 робота. Сейчас ищут 895 программистов ...

xcache не сохраняет большие данные

Тема в разделе "PHP для новичков", создана пользователем vikrorpert, 5 янв 2014.

  1. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    например переменную сохраняет и возращает
    а страницу на 10 кб не сохраняет, возращает false
    или это неправильно кешировать страницы в память и нужно кешировать только на диск?

    памяти на сервере 1500 mb, можен в настройках есть ограничение на максимальное значения для сохранения?
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    разумеется есть:)
    xcache.var_size называется. Поглядите в phpinfo, сколько там у вас отсыпано на этот параметр? Сдается мне, килобайт 8, или около того.
     
  3. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    xcache.var_size = 4M
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Тэкс, кидай сюды конфих хкеша :)
     
  5. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Только что при таких же настройках сохранил в xcache страничку на 73 килобайта и без проблем ее оттуда же извлек. Как сохраняете, покажите, пожалуйста.
     
  7. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    такой код сохраняет
    Код (Text):
    1. if (xcache_isset("cache")) {
    2.     echo 'cache';
    3. }
    4. else
    5. {
    6.     var_dump(xcache_set("cache", 10, 10));
    7. }
    а вот так уже не сохраняет
    Код (Text):
    1. xcache_set("cache", '567yuryugsdfgdfsgdstresterwtert567ytujfdryregfhgfhdfhfdhfd', 10)
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Попробуйте вот так:
    Код (Text):
    1. xcache_set('cache', 10);
    2. xcache_set('cache_1', '567yuryugsdfgdfsgdstresterwtert567ytujfdryregfhgfhdfhfdhfd');
    1) Не надо указывать последний параметр при установке переменной. Он прописан у вас в конфиге. Вы выставляете так время жизни переменной 10 секунд.
    2) В комплекте с Хкешем идет GUI, лучше им пользуйтесь, чем вардампами, там все наглядненько;
    3) Вы в одну переменную пишите сначала число типа integer, а потом строку типа char[]. xCache - это не пхп. И динамическую типизацию он не понимает. Он, как и любой мемшардер, устроен максимально просто, чтобы работать максимально быстро. Дело не в длине переменной, а в том, что на уровне машины число и строка - это разные типы данных, разного размера, с разным способом хранения и обслуживания. Там внутри Си и указатели - советую почитать, будет очень полезно для понимания того, как работает машина изнутри.
     
  9. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    странно, перегрузил сервер и начал сохранять нормально