Работа с memcached в Unix/Linux
Очередная статья на тему «Работа с memcached в Unix/Linux» и я в ней расскажу как работать с memcached в ОС Unix/Linux и приведу наглядные примеры.
Установка memcached в Unix/Linux
Вот статья как установить memcached, можно прочитать:
Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)
Возможно, приведу пример подробной настройке ( но попозже).
Работа с memcached в Unix/Linux
Приведу наглядные примеры по работе с memcached.
Получить ( Показать) статус memcached.
Получить статистику:
# echo stats | nc 127.0.0.1 11211 STAT pid 1250 STAT uptime 5099765 STAT time 1483695061 STAT version 1.4.22 STAT libevent 1.4.13-stable STAT pointer_size 64 STAT rusage_user 3144.195009 STAT rusage_system 15863.643359 STAT curr_connections 15 STAT total_connections 14347484 STAT connection_structures 908 STAT reserved_fds 30 STAT cmd_get 424027417 STAT cmd_set 16380427 STAT cmd_flush 20 STAT cmd_touch 0 STAT get_hits 212115737 STAT get_misses 211911680 STAT delete_misses 259355 STAT delete_hits 3729812 STAT incr_misses 0 STAT incr_hits 0 STAT decr_misses 0 STAT decr_hits 0 STAT cas_misses 0 STAT cas_hits 0 STAT cas_badval 0 STAT touch_hits 0 STAT touch_misses 0 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 93778486542 STAT bytes_written 2478939093660 STAT limit_maxbytes 4294967296 STAT accepting_conns 1 STAT listen_disabled_num 0 STAT threads 6 STAT conn_yields 0 STAT hash_power_level 16 STAT hash_bytes 524288 STAT hash_is_expanding 0 STAT malloc_fails 0 STAT bytes 18891891 STAT curr_items 4120 STAT total_items 16380427 STAT expired_unfetched 0 STAT evicted_unfetched 0 STAT evictions 0 STAT reclaimed 170726 STAT crawler_reclaimed 0 STAT lrutail_reflocked 79 END
Вот простой «top» эмулятор для memcached:
# watch "echo stats | nc 127.0.0.1 11211"
PS: Я использую локальную машину ( локалхост, 127.0.0.1), если вы хотите подключатся к удаленной машине, то замените ИП. Так же, не забываем сменить порт ( если настроили по другому).
Если вы хотите просмотреть подробную информацию об использовании кэша найти конкретный ключ, вы можете использовать одну из следующих команд:
- stats items — показывает информацию о количестве элементов в каждой плите (slab) со включающей нумерацией времени ( элементы, которые были очищены, прежде чем они истекли (inserted) или элементы не смогли быть вставлены потому, что slab вышел за пределы памяти (out of memory):
Для начала подключимся:# telnet 127.0.0.1 11211
После чего смотрим статистику:
> stats items STAT items:1:number 2 STAT items:1:age 526034 STAT items:1:evicted 0 STAT items:1:outofmemory 0
Или:
# echo stats items | nc 127.0.0.1 11211
- stats slabs — покажет более детальную статистику по каждому slab, такие как количество страниц (которые были выделены) и процент имеющихся кусков, которые используются:
> stats slabs STAT 5:chunk_size 240 STAT 5:chunks_per_page 4369 STAT 5:total_pages 1 STAT 5:total_chunks 4369 STAT 5:used_chunks 7 STAT 5:free_chunks 1 STAT 5:free_chunks_end 4361
Или:
# echo stats slabs | nc 127.0.0.1 11211
- Если вы заинтересованы в просмотре отдельных ключей, которые хранятся на сервере, вы можете использовать команду — stats cachedump чтобы получить список ключей в каждой плите (slab). Команда принимает два аргумента: идентификатор slab и количество элементов для извлечения (0 = извлечь все):
> stats cachedump 6 3 ITEM cache_menu-links%3Asecondary-links [160 b; 1275506090 s] ITEM cache_menu-links%3Aprimary-links [159 b; 1275506090 s] ITEM cache_menu-links%3Anavigation [158 b; 1275506090 s]
- Для просмотра item-ов:
# echo stats items | nc 127.0.0.1 11211
Для тех у кого нет nc, но есть php:
# watch 'php -r '"'"'$m=new Memcache;$m->connect("127.0.0.1", 11211);print_r($m->getstats());'"'"
Как-то так.
Очистить ( сбросить) memcached кеш
Вы можете очистить все существующие элементы кэша с помощью команды flush_all. Вы можете отправить flush_all команду, используя nc или netcat утилиты:
# echo 'flush_all' | nc localhost 11211
Или можно еще одним способом:
# echo 'flush_all' | netcat localhost 11211
Вот еще пример:
# nc 192.168.1.10 11211<<<"flush_all"
Где,
- 192.168.1.10 или localhost– сервер где установлен memcached
- 11211 – порт который использует memcached.
Сейчас я расскажу как можно сбросить кэш с помощью telnet:
# telnet Your_Server_or_IP Your_Memcached_Port
Пример:
$ telnet 192.168.13.113 11211
Статья «Работа с memcached в Unix/Linux» завершена.