mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
120 lines
10 KiB
Markdown
120 lines
10 KiB
Markdown
# Memcache Komutları
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|
||
|
||
## Komutlar Hızlı Referansı
|
||
|
||
**Kaynak** [**https://lzone.de/cheat-sheet/memcached**](https://lzone.de/cheat-sheet/memcached)
|
||
|
||
Desteklenen komutlar (resmi olanlar ve bazı resmi olmayanlar) [doc/protocol.txt](https://github.com/memcached/memcached/blob/master/doc/protocol.txt) belgesinde belgelenmiştir.
|
||
|
||
Üzgünüm, sözdizimi açıklaması gerçekten net değil ve mevcut komutları listeleyen basit bir yardım komutu çok daha iyi olurdu. İşte [source](https://github.com/memcached/memcached) içinde bulabileceğiniz komutların bir özeti (19.08.2016 itibarıyla):
|
||
|
||
| Komut | Açıklama | Örnek |
|
||
| -------------------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
|
||
| get | Bir değeri okur | `get mykey` |
|
||
| set | Bir anahtarı koşulsuz olarak ayarlar | <p><code>set mykey <flags> <ttl> <size></code><br><br><p>Unix CLI araçlarını kullanırken \r\n'yi satır sonları olarak kullanmayı unutmayın. Örneğin</p> <code>printf "set mykey 0 60 4\r\ndata\r\n" | nc localhost 11211</code></p> |
|
||
| add | Yeni bir anahtar ekler | `add newkey 0 60 5` |
|
||
| replace | Mevcut anahtarı üzerine yazar | `replace key 0 60 5` |
|
||
| append | Mevcut anahtara veri ekler | `append key 0 60 15` |
|
||
| prepend | Mevcut anahtara veri ekler | `prepend key 0 60 15` |
|
||
| incr | Sayısal anahtar değerini verilen sayı kadar artırır | `incr mykey 2` |
|
||
| decr | Sayısal anahtar değerini verilen sayı kadar azaltır | `decr mykey 5` |
|
||
| delete | Mevcut bir anahtarı siler | `delete mykey` |
|
||
| flush_all | Tüm öğeleri hemen geçersiz kılar | `flush_all` |
|
||
| flush_all | Tüm öğeleri n saniye içinde geçersiz kılar | `flush_all 900` |
|
||
| stats | Genel istatistikleri yazdırır | `stats` |
|
||
| | Bellek istatistiklerini yazdırır | `stats slabs` |
|
||
| | Daha yüksek seviyede tahsis istatistiklerini yazdırır | `stats malloc` |
|
||
| | Öğeler hakkında bilgi yazdırır | `stats items` |
|
||
| | | `stats detail` |
|
||
| | | `stats sizes` |
|
||
| | İstatistik sayaçlarını sıfırlar | `stats reset` |
|
||
| lru_crawler metadump | Önbellekteki (tüm) öğelerin (çoğu) meta verisini döker | `lru_crawler metadump all` |
|
||
| version | Sunucu sürümünü yazdırır. | `version` |
|
||
| verbosity | Günlük seviyesini artırır | `verbosity` |
|
||
| quit | Oturumu sonlandırır | `quit` |
|
||
|
||
#### Trafik İstatistikleri <a href="#traffic-statistics" id="traffic-statistics"></a>
|
||
|
||
Mevcut trafik istatistiklerini sorgulamak için komutu kullanabilirsiniz.
|
||
```
|
||
stats
|
||
```
|
||
Bağlantı sayısını, giren/çıkan baytları ve daha fazlasını sunan bir liste alacaksınız.
|
||
|
||
Örnek Çıktı:
|
||
```
|
||
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
|
||
```
|
||
#### Bellek İstatistikleri <a href="#memory-statistics" id="memory-statistics"></a>
|
||
|
||
Mevcut bellek istatistiklerini sorgulamak için
|
||
```
|
||
stats slabs
|
||
```
|
||
Understood! Please provide the text you would like me to translate.
|
||
```
|
||
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
|
||
```
|
||
Eğer memcached örneğiniz için yeterli belleğe sahip olup olmadığınızdan emin değilseniz, her zaman “stats” komutuyla verilen “evictions” sayaçlarına dikkat edin. Eğer örnek için yeterli belleğiniz varsa, “evictions” sayacı 0 olmalı veya en azından artmamalıdır.
|
||
|
||
#### Hangi Anahtarlar Kullanılıyor? <a href="#which-keys-are-used" id="which-keys-are-used"></a>
|
||
|
||
Mevcut anahtar setini doğrudan belirlemek için yerleşik bir fonksiyon yoktur. Ancak bunu kullanabilirsiniz.
|
||
```
|
||
stats items
|
||
```
|
||
anahtarların kaç tane olduğunu belirlemek için komut.
|
||
```
|
||
stats items
|
||
STAT items:1:number 220
|
||
STAT items:1:age 83095
|
||
STAT items:2:number 7
|
||
STAT items:2:age 1405
|
||
[...]
|
||
END
|
||
```
|
||
Bu en azından hangi anahtarların kullanıldığını görmeye yardımcı olur. Memcache erişimini zaten yapan bir PHP betiğinden anahtar adlarını dökmek için [100days.de](http://100days.de/serendipity/archives/55-Dumping-MemcacheD-Content-Keys-with-PHP.html) adresindeki PHP kodunu kullanabilirsiniz.
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|