Очистить memcached кеш в Unix/Linux

Очистить memcached кеш в Unix/Linux

memcached — программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы. Я не буду говорить много о нем, т.к статья не об этом!

Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)

Работа с memcached в Unix/Linux

Ну а сейчас по теме, поехали…

Очистить memcached кеш в Unix/Linux

Очистить кеш в memcache/memcached можно различными способами и сейчас я расскажу о них.

-===СПОСОБ 1 — использовать telnet===-

Самый простой способ — это использовать telnet:

$ telnet localhost 11211
flush_all
quit

Где:

  • localhost — Хост где находится мемкешед.
  • 11211  — порт который использует memcached.

Чтобы узнать порт и хост, можно подключиться к серверу где установлена служба и выполнить:

$ netstat -natpl | grep "memcache[d]"

tcp        0      0 0.0.0.0:11211           0.0.0.0:*               LISTEN      79225/memcached     
tcp6       0      0 :::11211                :::*                    LISTEN      79225/memcached

Видим, что прослушивается все интерфейсы и порт — стандартный.

-===СПОСОБ 2 — использовать netcat (nc)===-

Так же, для очистки кеша, можно использовать netcat:

echo "flush_all" | nc localhost 11211

Или:

$ printf "flush_all\nquit\n" | nc  127.1 11211

Или, еще одна вариация:

echo "flush_all" | nc -w 2 localhost 11211

-===СПОСОБ 3 — использовать memcflush===-

Имеется memcflush тулза, дял чистки кешей:

memflush --servers=localhost:11211

PS: Но ее нужно установить!

Чтобы установить memcflush утилиту на Debian/Ubuntu,  используйте:

# apt-get install libmemcached-tools -y

Чтобы установить memcflush утилиту на CentOS/Fedora/RHEL,  используйте:

# yum install  libmemcached-* -y

-===СПОСОБ 4 — использовать конвеер команд===-

Запустите его на той машине где уже установлен мемкеш:

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

-===СПОСОБ 5 — использовать конвеер команд===-

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

# echo flush_all > /dev/tcp/localhost/11211

-===СПОСОБ 6 — использовать перезапуск службы===-

Можно использовать перезапуск службы:

# service memcached restart

PS: Как по мне — это не есть хорошо!

Как-то так! Надеюсь вы выберете что-то для себя и запомните. Если кто-то знает еще метод очистки мемкеша, пишите в комментарии.

А на этом, у меня все и тема «Очистить memcached кеш в Unix/Linux» завершена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.