как перезапустить/очистить кэш-память, не перезапуская целый веб-сервер?

Я не уверен, что понимаю, как владелец управляет тем, что Вы делаете с каналами в офис? Стационарная абонентская линия речи/факса может также выполнить выполненный DSL, выполненный T1 может озвучить и/или данные, кабельное телевидение может также обеспечить Интернет? Не зная больше деталей может просто случиться так, что они поощряют Вас получать свое собственное соединение ISP и не долю их.

Независимо, если бы Вы не можете обойти владельца с DSL или кабелем, и T1 является слишком дорогим затем, я исследовал бы беспроводную связь (802.11) соединение ISP, в зависимости от местоположения, это может быть быстрее и более дешевым, чем мобильная широкополосная связь. Мобильная широкополосная связь + резервное копирование онлайн могла сделать $100/пользователей дешевыми! Говорите с другими арендаторами и посмотрите то, что они делают или называют локальный отдел ИТ и видят то, что они рекомендуют, они будут знать лучшие опции ISPs.

Как предложили другие, установите DDNS для прямого удаленного соединения. Другие опции включают LogMeIn (свободный или заплаченный), GoToMyPC или подобные службы, что все хорошо работают без статического IP.

47
задан 7 September 2013 в 02:00
8 ответов

да. можно очистить кэш-память. попробуйте:

telnet localhost 11211
flush_all
quit

если кэш-память не работает на localhost 11211, необходимо будет скорректировать его.

94
ответ дан 28 November 2019 в 19:38

(sleep 2; echo flush_all; sleep 2; echo quit; ) | telnet 127.0.0.1 11211

если Вы хотите выполнить его нев интерактивном режиме

благодаря @heiko

3
ответ дан 28 November 2019 в 19:38

memcflush в инструменты memcache - это то, что вам нужно:

memcflush --servers=localhost:11211

Измените localhost на любой ваш сервер.

Инструменты memcache могут не быть установлены на сервере, если вы используете ОС на основе Debian, вы его можно установить так:

sudo apt-get install libmemcached-tools
24
ответ дан 28 November 2019 в 19:38

Это также будет работать с использованием netcat

echo "flush_all" | nc -q 2 localhost 11211 

Затем просто дождитесь «ОК».

40
ответ дан 28 November 2019 в 19:38

В Bash вы можете использовать этот причудливый синтаксис:

echo flush_all > /dev/tcp/localhost/11211

В противном случае используйте команду memflush :

memflush --servers=localhost
8
ответ дан 28 November 2019 в 19:38

в если вы используете сокет для подключения к memcached, синтаксис будет

echo "flush_all" | nc -U ~ / memcached.sock

0
ответ дан 28 November 2019 в 19:38

Вместо ожидания таймаутов вы можете сделать команду мгновенной, выполнив команду flush_all с помощью команды quit :

printf "flush_all \ r \ nquit \ r \ n "| nc localhost 11211

В качестве альтернативы, если у вас нет nc :

printf "flush_all \ r \ nquit \ r \ n"> /dev/tcp/127.0.0.1/11211

Хотя этот метод не дает результатов, вы можете убедиться, что он работает, проверив stats , чтобы увидеть, что cmd_flush увеличилось.

4
ответ дан 28 November 2019 в 19:38

Вот функция для сброса memcached через PHP, на тот случай, если вам нужно обновить его без входа в ssh...

Вы можете простоhttp://yourserver.com/memflush.php

Вызвать этот файл memflush. php

<?php

 $socket = fsockopen("localhost", "11211", $errno, $errstr); 

    if($socket) { 
        echo "Connected. <br /><br />"; 
    }
    else { 
        echo "Connection failed!<br /><br />"; 
    }

    fputs($socket, "flush_all\r\n"); 
    $buffer = ""; 

    fclose($socket); 
?>
0
ответ дан 15 October 2021 в 11:50

Теги

Похожие вопросы