Підтримувані команди (офіційні та деякі неофіційні) задокументовані в документі doc/protocol.txt.
На жаль, опис синтаксису не є дуже зрозумілим, і проста команда довідки, яка перелічує існуючі команди, була б набагато краще. Ось огляд команд, які ви можете знайти в джерелі (на 19.08.2016):
Команда
Опис
Приклад
get
Читає значення
get mykey
set
Встановлює ключ безумовно
set mykey <flags> <ttl> <size>
<p>Переконайтеся, що використовуєте \r\n як роздільник рядків при використанні інструментів Unix CLI. Наприклад</p> printf "set mykey 0 60 4\r\ndata\r\n"
add
Додає новий ключ
add newkey 0 60 5
replace
Перезаписує існуючий ключ
replace key 0 60 5
append
Додає дані до існуючого ключа
append key 0 60 15
prepend
Додає дані до початку існуючого ключа
prepend key 0 60 15
incr
Збільшує числове значення ключа на вказане число
incr mykey 2
decr
Зменшує числове значення ключа на вказане число
decr mykey 5
delete
Видаляє існуючий ключ
delete mykey
flush_all
Негайно анулює всі елементи
flush_all
flush_all
Анулює всі елементи через n секунд
flush_all 900
stats
Виводить загальну статистику
stats
Виводить статистику пам'яті
stats slabs
Виводить статистику вищого рівня розподілу
stats malloc
Виводить інформацію про елементи
stats items
stats detail
stats sizes
Скидає лічильники статистики
stats reset
lru_crawler metadump
Виводить (більшість) метадані (всі) елементів в кеші
lru_crawler metadump all
version
Виводить версію сервера
version
verbosity
Збільшує рівень журналу
verbosity
quit
Завершує сеанс
quit
Статистика трафіку
Ви можете запитати поточну статистику трафіку за допомогою команди
stats
Ви отримаєте список, який відображає кількість з'єднань, байтів у/в та багато іншого.
Приклад виводу:
STAT pid 14868
STAT uptime 175931
STAT time 1220540125
STAT version 1.2.2
STAT pointer_size 32
STAT rusage_user 620.299700
STAT rusage_system 1545.703017
STAT curr_items 228
STAT total_items 779
STAT bytes 15525
STAT curr_connections 92
STAT total_connections 1740
STAT connection_structures 165
STAT cmd_get 7411
STAT cmd_set 28445156
STAT get_hits 5183
STAT get_misses 2228
STAT evictions 0
STAT bytes_read 2112768087
STAT bytes_written 1000038245
STAT limit_maxbytes 52428800
STAT threads 1
END
Статистика пам'яті
Ви можете запитати поточну статистику використання пам'яті за допомогою
stats slabs
### Memcache commands#### Stats- **stats** - General statistics.- **stats items** - Detailed statistics about items.- **stats slabs** - Detailed statistics about slabs.- **stats sizes** - Detailed statistics about sizes.- **stats cachedump <slab_id> <number>** - Dump keys and values from a slab.- **stats conns** - Detailed statistics about connections.- **stats settings** - Detailed statistics about settings.- **stats detail** - Detailed statistics about general stats.- **stats sizes** - Detailed statistics about sizes.- **stats reset** - Reset statistics.#### Set- **set <key> <flags> <exptime> <bytes> [noreply]** - Store data.- **add <key> <flags> <exptime> <bytes> [noreply]** - Store data, but only if the server doesn't already hold data for this key.
- **replace <key> <flags> <exptime> <bytes> [noreply]** - Store data, but only if the server already holds data for this key.
- **append <key> <bytes> [noreply]** - Append data to an existing key.- **prepend <key> <bytes> [noreply]** - Prepend data to an existing key.- **cas <key> <flags> <exptime> <bytes> <cas_unique> [noreply]** - Store data with a check and set operation.#### Get- **get <key>** - Retrieve data.- **gets <key>** - Retrieve data with CAS value.#### Delete- **delete <key> [noreply]** - Delete data.#### Increment/Decrement- **incr <key> <value> [noreply]** - Increment the value of a key.- **decr <key> <value> [noreply]** - Decrement the value of a key.#### Touch- **touch <key> <exptime> [noreply]** - Update the expiration time of a key.#### Flush- **flush_all [delay]** - Flush all data after optional delay.
STAT 1:chunk_size 80
STAT 1:chunks_per_page 13107
STAT 1:total_pages 1
STAT 1:total_chunks 13107
STAT 1:used_chunks 13106
STAT 1:free_chunks 1
STAT 1:free_chunks_end 12886
STAT 2:chunk_size 100
STAT 2:chunks_per_page 10485
STAT 2:total_pages 1
STAT 2:total_chunks 10485
STAT 2:used_chunks 10484
STAT 2:free_chunks 1
STAT 2:free_chunks_end 10477
[...]
STAT active_slabs 3
STAT total_malloced 3145436
END
Якщо ви не впевнені, що у вас достатньо пам'яті для вашого екземпляра memcached, завжди слід стежити за лічильниками "видалень", які надає команда "stats". Якщо у вас достатньо пам'яті для екземпляра, лічильник "видалень" повинен бути рівним 0 або принаймні не збільшуватися.
Які ключі використовуються?
Не існує вбудованої функції для прямого визначення поточного набору ключів. Однак ви можете скористатися
stats items
Команда для визначення кількості існуючих ключів: stats items.
stats items
STAT items:1:number 220
STAT items:1:age 83095
STAT items:2:number 7
STAT items:2:age 1405
[...]
END
Це принаймні допомагає побачити, чи використовуються які-небудь ключі. Щоб вивести назви ключів з PHP-скрипту, який вже використовує доступ до memcache, ви можете використовувати PHP-код з 100days.de.