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

Работа с 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» завершена.

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

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