Latest web development tutorials

konfigurasi Redis

file konfigurasi Redis Redis terletak di direktori instalasi bawah nama file redis.conf.

Anda dapatconfig perintah untuk melihat atau mengatur item konfigurasi.


tatabahasa

format perintah Redis CONFIG adalah sebagai berikut:

redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME

contoh

redis 127.0.0.1:6379> CONFIG GET loglevel

1) "loglevel"
2) "notice"

Tekan * untuk mendapatkan semua item konfigurasi:

contoh

redis 127.0.0.1:6379> CONFIG GET *

  1) "dbfilename"
  2) "dump.rdb"
  3) "requirepass"
  4) ""
  5) "masterauth"
  6) ""
  7) "unixsocket"
  8) ""
  9) "logfile"
 10) ""
 11) "pidfile"
 12) "/var/run/redis.pid"
 13) "maxmemory"
 14) "0"
 15) "maxmemory-samples"
 16) "3"
 17) "timeout"
 18) "0"
 19) "tcp-keepalive"
 20) "0"
 21) "auto-aof-rewrite-percentage"
 22) "100"
 23) "auto-aof-rewrite-min-size"
 24) "67108864"
 25) "hash-max-ziplist-entries"
 26) "512"
 27) "hash-max-ziplist-value"
 28) "64"
 29) "list-max-ziplist-entries"
 30) "512"
 31) "list-max-ziplist-value"
 32) "64"
 33) "set-max-intset-entries"
 34) "512"
 35) "zset-max-ziplist-entries"
 36) "128"
 37) "zset-max-ziplist-value"
 38) "64"
 39) "hll-sparse-max-bytes"
 40) "3000"
 41) "lua-time-limit"
 42) "5000"
 43) "slowlog-log-slower-than"
 44) "10000"
 45) "latency-monitor-threshold"
 46) "0"
 47) "slowlog-max-len"
 48) "128"
 49) "port"
 50) "6379"
 51) "tcp-backlog"
 52) "511"
 53) "databases"
 54) "16"
 55) "repl-ping-slave-period"
 56) "10"
 57) "repl-timeout"
 58) "60"
 59) "repl-backlog-size"
 60) "1048576"
 61) "repl-backlog-ttl"
 62) "3600"
 63) "maxclients"
 64) "4064"
 65) "watchdog-period"
 66) "0"
 67) "slave-priority"
 68) "100"
 69) "min-slaves-to-write"
 70) "0"
 71) "min-slaves-max-lag"
 72) "10"
 73) "hz"
 74) "10"
 75) "no-appendfsync-on-rewrite"
 76) "no"
 77) "slave-serve-stale-data"
 78) "yes"
 79) "slave-read-only"
 80) "yes"
 81) "stop-writes-on-bgsave-error"
 82) "yes"
 83) "daemonize"
 84) "no"
 85) "rdbcompression"
 86) "yes"
 87) "rdbchecksum"
 88) "yes"
 89) "activerehashing"
 90) "yes"
 91) "repl-disable-tcp-nodelay"
 92) "no"
 93) "aof-rewrite-incremental-fsync"
 94) "yes"
 95) "appendonly"
 96) "no"
 97) "dir"
 98) "/home/deepak/Downloads/redis-2.8.13/src"
 99) "maxmemory-policy"
100) "volatile-lru"
101) "appendfsync"
102) "everysec"
103) "save"
104) "3600 1 300 100 60 10000"
105) "loglevel"
106) "notice"
107) "client-output-buffer-limit"
108) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60"
109) "unixsocketperm"
110) "0"
111) "slaveof"
112) ""
113) "notify-keyspace-events"
114) ""
115) "bind"
116) ""

Edit Konfigurasi

Anda dapat memodifikasi file redis.conf atau menggunakan perintahCONFIG set untuk memodifikasi konfigurasi.

tatabahasa

CONFIG SET perintah sintaks dasar:

redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

contoh

redis 127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
redis 127.0.0.1:6379> CONFIG GET loglevel

1) "loglevel"
2) "notice"

parameter Deskripsi

item konfigurasi redis.conf dijelaskan sebagai berikut:

1. Redis default tidak berjalan dalam modus daemon, Anda dapat memodifikasi item konfigurasi, gunakan ya Aktifkan daemon

daemonize ada

2. Ketika Redis ketika berjalan dalam modus daemon, default Redis akan menulis /var/run/redis.pid pid file, Anda dapat menentukan pidfile

pidfile /var/run/redis.pid

3. Tentukan Redis port monitor, port default 6379, penulis dalam posting blog sendiri menjelaskan mengapa pilihan 6379 sebagai port default sebagai 6379 pada MERZ keypad ponsel yang sesuai nomor, dan MERZ diambil dari nama gadis panggung Italia Alessia Merz

pelabuhan 6379

4. alamat host yang mengikat

mengikat 127.0.0.1

5. Ketika klien idle lama setelah menutup sambungan, jika Anda menentukan nol menonaktifkan fungsi

batas waktu 300

6. Tentukan tingkat logging, Redis mendukung total empat tingkatan: debug, verbose, pemberitahuan, peringatan, defaultnya adalah verbose

loglevel verbose

7. modus logging, default standar output, jika Anda mengkonfigurasi Redis untuk menjalankan dalam mode daemon, tapi ini juga dikonfigurasi untuk login ke mode output standar, log akan dikirim ke / dev / null

    logfile stdout

8. Mengatur jumlah database, database default adalah 0, Anda dapat menggunakan SELECT <dbid> perintah pada koneksi yang ditentukan basis data id

database 16

9. Tentukan berapa lama, berapa kali operasi update, data akan disinkronisasi ke file data, Anda dapat memenuhi sejumlah kondisi

simpan <detik> <perubahan>

Redis file konfigurasi default menyediakan tiga kondisi:

menyimpan 900 1

menyimpan 300 10

menyimpan 60 10000

Masing-masing, memiliki perubahan 900 detik (15 menit), 300 detik (5 menit), ada 10 perubahan, dan ada 10 000 Perubahan dalam 60 detik.

10. Apakah kompresi saat menyimpan data ke database lokal, default adalah ya, Redis menggunakan kompresi LZF, jika CPU untuk menghemat waktu, Anda dapat menonaktifkan pilihan ini, tetapi akan menyebabkan file database menjadi besar

rdbcompression ya

11. Tentukan nama file dari database lokal, nilai default dump.rdb

dbfilename dump.rdb

12. Tentukan direktori penyimpanan database lokal

dir ./

13. Set saat unit layanan Slavia, mengatur Master layanan alamat IP dan port ketika Redis dimulai, maka secara otomatis akan melakukan sinkronisasi data dari master

slaveof <masterip> <masterport>

14. Ketika layanan master dilindungi sandi, layanan Slavia sandi koneksi utama

masterauth <master-password>

15. Set Redis sandi koneksi, jika Anda mengkonfigurasi password koneksi, klien perlu memberikan password saat menghubungkan Redis via AUTH <password> perintah, off secara default

requirepass foobared

16. Atur waktu yang sama jumlah maksimum koneksi client, batas default, jumlah maksimum koneksi deskriptor file klien Redis Redis bisa terbuka secara bersamaan untuk proses bisa dibuka, jika diatur MaxClients 0, menunjukkan tidak ada pembatasan. Ketika jumlah koneksi client mencapai batas, Redis akan menutup sambungan baru ke klien mengembalikan jumlah maksimum klien mencapai pesan kesalahan

MaxClients 128

17. Tentukan Redis batas memori maksimum, Redis akan dimuat pada saat startup data ke dalam memori, setelah memori maksimum, Redis akan pertama kali mencoba untuk menghapus Key telah berakhir atau akan berakhir, ketika metode ini bekerja, masih mencapai memori maksimum pengaturan tidak akan lagi menulis operasi, tetapi masih dapat dibaca. memori Redis mekanisme vm baru, Key akan disimpan, Nilai akan disimpan di swap area

maxmemory <byte>

18. Tentukan apakah setelah setiap update operasi penebangan, Redis default adalah asynchronous untuk menulis data ke disk, jika tidak terbuka, dapat mengakibatkan data dari waktu ke waktu yang hilang selama pemadaman listrik. Karena Redis sendiri menyinkronkan file data disinkronisasi dengan di atas menyimpan kondisi, sehingga beberapa data selama periode waktu hanya ada di memori. default ada

appendonly ada

19. Tentukan nama file update log, defaultnya adalah appendonly.aof

appendfilename appendonly.aof

20. Tentukan kriteria update log, ada tiga kemungkinan nilai:
no: menunjukkan sistem operasi dan data lainnya disinkronisasikan ke disk cache (cepat)
selalu: setelah setiap operasi menunjukkan update secara manual memanggil fsync () menulis data ke disk (lebih lambat, keamanan)
everysec: merupakan sinkron kedua (kompromi, nilai default)

appendfsync everysec

21. Tentukan apakah mekanisme memori virtual diaktifkan, default ada, sekilas, mekanisme paging VM untuk menyimpan data dengan Redis akan mengunjungi kurang-halaman data C13 swap disk, akses disk beberapa halaman secara otomatis swap ke memori (dalam artikel selanjutnya saya akan hati-hati menganalisis mekanisme Redis VM)

vm-enabled ada

22. Berkas memori virtual path, nilai default /tmp/redis.swap, tidak dapat berbagi beberapa contoh dari Redis

vm-swap file /tmp/redis.swap

23. Dalam semua lebih dari vm-max-memori data ke dalam memori virtual, tanpa pengaturan vm-max-memori seberapa kecil, semua data indeks disimpan dalam memori (data indeks Redis adalah kunci), yaitu ketika vm max-memori diatur ke 0 ketika nilai sebenarnya semua yang hadir dalam disk. Nilai default adalah 0

vm-max-memori 0

24. Redis pertukaran file ke banyak halaman, sebuah objek dapat disimpan di halaman beberapa atas, tetapi tidak dapat dibagi oleh beberapa objek pada halaman, vm-halaman-ukuran harus didasarkan pada ukuran kumpulan data yang tersimpan, penulis Jika Anda menyimpan banyak rekomendasi untuk benda kecil, ukuran halaman lebih disukai diatur ke 32 atau 64bytes, jika penyimpanan banyak benda-benda besar, Anda dapat menggunakan halaman yang lebih besar, jika Anda tidak yakin, gunakan nilai default

vm-halaman ukuran 32

25. Jumlah halaman file swap, karena tabel halaman (page menganggur atau representasi menggunakan bitmap) ditempatkan di memori pada disk ,, setiap delapan halaman 1Byte akan mengkonsumsi memori.

vm-halaman 134217728

26. Mengatur jumlah benang untuk mengakses file swap, yang terbaik adalah tidak melebihi jumlah mesin inti, jika diatur ke 0, maka semua operasi pada file swap adalah serial, dapat menyebabkan penundaan yang relatif lama. Nilai default adalah 4

vm-max-benang 4

27. set ketika respon ke klien, apakah paket yang lebih kecil dalam satu paket, diaktifkan secara default

glueoutputbuf ya

28. ditentukan ketika lebih dari jumlah tertentu, atau elemen terbesar melebihi nilai kritis, menggunakan algoritma hash khusus

hash-max-zipmap-entri 64

hash-max-zipmap-nilai 512

29. Tentukan apakah untuk me-reset hash aktivasi, diaktifkan secara default (khusus dijelaskan kemudian ketika algoritma hashing dijelaskan Redis)

activerehashing ya

30. Menentukan yang berisi file-file konfigurasi lain, Anda dapat menggunakan file-file konfigurasi yang sama antara beberapa contoh Redis pada host yang sama, sedangkan setiap instance memiliki profil tertentu sendiri

termasuk /path/to/local.conf