como reiniciar / limpar o memcache sem reiniciar o servidor web inteiro?

42

/opt/eduserver/eduserver me dá opções:

Usage: /opt/eduserver/eduserver {start|stop|startphp|startwww|startooo|stopphp|stopwww|stopooo|restartphp|restartwww|restartooo|status|restart|reload|force-reload}

onde o memcache é o módulo php existe memcache.ini in /opt/eduserver/etc/php/conf.d .

Eu quero limpar o memcache da linha de comando. Posso fazê-lo de alguma forma sem 'tocar' em qualquer outra parte do servidor web?

    
por Radek 13.04.2011 / 09:33

7 respostas

88

sim. você pode limpar o memcache. tente:

telnet localhost 11211
flush_all
quit

se o memcache não for executado no host local 11211, você terá que ajustá-lo.

    
por 13.04.2011 / 10:13
40

Isso também funcionará usando o netcat

echo "flush_all" | nc -q 2 localhost 11211 

Depois é só esperar pelo "OK".

    
por 06.02.2013 / 11:48
23

memcflush nas ferramentas memcache é o que você quer:

memcflush --servers=localhost:11211

Altere localhost para qualquer servidor.

As ferramentas memcache podem não estar instaladas no servidor, se você estiver rodando um sistema operacional baseado no Debian, você pode instalá-lo assim:

sudo apt-get install libmemcached-tools
    
por 06.07.2012 / 18:26
7

No Bash você pode usar essa sintaxe sofisticada:

echo flush_all > /dev/tcp/localhost/11211

Caso contrário, use o comando memflush :

memflush --servers=localhost
    
por 06.04.2016 / 16:58
3

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

se você quiser executá-lo não interativamente

obrigado a @heiko

    
por 19.05.2011 / 00:58
2

Em vez de esperar pelos tempos limite, você pode tornar o comando instantâneo seguindo flush_all com a% comandoquit:

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

Como alternativa, se você não tiver nc :

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

Embora esse método não produza uma saída, embora você possa verificar se funciona, verifique stats para ver que cmd_flush aumentou.

    
por 20.06.2018 / 15:52
0

caso você use um soquete para conectar ao memcached, a sintaxe é

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

    
por 12.01.2018 / 12:17