Halaman ini menjelaskan kebijakan maxmemory dan konfigurasi Redis lainnya yang tersedia untuk Memorystore for Redis. Anda tidak perlu memulai ulang instance Redis jika menyesuaikan konfigurasi.
Untuk mengetahui petunjuk tentang cara mengubah konfigurasi yang tercantum di bawah, lihat Mengonfigurasi Instance Redis.
Kebijakan Maxmemory
Saat memori instance Redis Anda penuh, dan ada operasi tulis baru, Redis akan mengeluarkan kunci untuk menyediakan ruang bagi operasi tulis berdasarkan kebijakan maxmemory instance Anda. Kebijakan maxmemory default untuk Memorystore for Redis adalah volatile-lru. Anda
juga dapat menggunakan salah satu kebijakan maxmemory berikut:
noeviction: Menampilkan error saat instance Redis mencapai maxmemory. Tidak menimpa atau mengeluarkan data apa pun.allkeys-lfu: Tersedia di Redis versi 4.0 atau yang lebih baru. Mengeluarkan kunci yang paling jarang digunakan (LFU) dari seluruh set kunci.allkeys-lru: Mengeluarkan kunci yang paling jarang digunakan (LRU) dari seluruh kumpulan kunci.volatile-lfu: Tersedia di Redis versi 4.0 atau yang lebih baru. Menghapus kunci yang paling jarang digunakan yang ditetapkan dengan waktu habis masa berlaku TTL (time to live).volatile-lru: Mengeluarkan kunci yang paling jarang digunakan (LRU) yang ditetapkan dengan masa berlaku TTL.allkeys-random: Mengeluarkan kunci acak dari seluruh ruang kunci.volatile-random: Mengeluarkan kunci acak dari antara kunci yang ditetapkan dengan akhir masa berlaku TTL.volatile-ttl: Mengeluarkan kunci dengan TTL terpendek dari antara kunci yang ditetapkan dengan masa berlaku TTL.
Parameter konfigurasi yang dapat diubah
Anda dapat mengubah parameter berikut saat membuat atau mengupdate instance Memorystore for Redis.
| Parameter | Deskripsi | Nilai yang dapat diterima |
|---|---|---|
| activedefrag | Redis versi 4.0, atau yang lebih baru. Berfungsi untuk membebaskan memori instance yang terikat oleh perilaku fragmentasi memori OSS Redis standar. | no (default)yes |
| database | Redis versi 3.2, atau yang lebih baru. Menentukan jumlah database di server Redis. | 1-100Defaultnya adalah 16 |
| lazyfree-lazy-eviction | Redis versi 7.0, atau yang lebih baru. Mengaktifkan/menonaktifkan bebas latensi untuk pengusiran. no menonaktifkan konfigurasi ini. Untuk mengetahui informasi selengkapnya, lihat REDIS.CONF |
no (default)yes |
| lazyfree-lazy-expire | Redis versi 7.0 atau yang lebih baru. Mengaktifkan/menonaktifkan gratis terlambat untuk masa berlaku habis. no menonaktifkan konfigurasi ini. Untuk mengetahui informasi selengkapnya, lihat REDIS.CONF |
no (default)yes |
| lazyfree-lazy-user-del | Redis versi 7.0, atau yang lebih baru. Mengaktifkan/menonaktifkan lazy free untuk pengguna DEL. no menonaktifkan konfigurasi ini. Untuk mengetahui informasi selengkapnya, lihat REDIS.CONF |
no (default)yes |
| lazyfree-lazy-user-flush | Redis versi 7.0, atau yang lebih baru. Mengaktifkan/menonaktifkan flush pengguna gratis yang lambat. no menonaktifkan konfigurasi ini. Untuk mengetahui informasi selengkapnya, lihat REDIS.CONF |
no (default)yes |
| lfu-decay-time | Redis versi 4.0, atau yang lebih baru. Waktu, dalam menit, sebelum penghitung frekuensi LFU untuk kunci tertentu dibagi dua (atau, jika penghitungnya < 10, dikurangi 1). Lihat file REDIS.CONF untuk mengetahui informasi tambahan. | Bilangan bulat positif dari jenis data 'long' (default=1) |
| lfu-log-factor | Redis versi 4.0, atau yang lebih baru. Menentukan cara penghitung frekuensi merepresentasikan hit tombol. Sebelum mengubah konfigurasi default, baca cara kerja konfigurasi lfu-log-factor dalam file REDIS.CONF. |
Bilangan bulat positif dari jenis data 'long' (default=10) |
| maxmemory-clients | Redis 7.0, atau yang lebih baru. Konfigurasi ini memungkinkan pengguna mengontrol penggunaan memori maksimum klien. Total penggunaan memori klien normal/pubsub. Jika batas tercapai, klien dengan penggunaan memori tertinggi akan dikeluarkan |
Defaultnya adalah 0% (tidak ada batasan). Nilai yang dapat diterima adalah nilai persentase bilangan bulat antara 0% dan 100%. Mewakili persentase
maxmemory instance yang membatasi penyimpanan klien. |
| maxmemory-gb | Menetapkan batas yang dapat disesuaikan saat kebijakan pengusiran Anda berlaku.
Misalnya, jika Anda memiliki instance 10 GB dan Anda menyetel maxmemory-gb ke
8, kebijakan pengusiran Anda akan berlaku saat data Anda menempati 8
GB memori instance Anda. Hal ini membuat Anda memiliki overhead memori sebesar 2 GB. Secara
default, maxmemory-gb disetel ke kapasitas instance Anda. Untuk mengetahui detail tentang cara terbaik menggunakan konfigurasi maxmemory-gb, lihat praktik terbaik pengelolaan memori Memorystore.Konfigurasi ini ditampilkan sebagai maxmemory-percent di
konsolGoogle Cloud . Saat menggunakan konsol, Anda menetapkan maxmemory-percent
sebagai persentase kapasitas instance, bukan jumlah GB tertentu.
|
Jumlah GB yang dinyatakan sebagai bilangan bulat atau desimal. Contoh: 10 menetapkan maxmemory-gb sebesar 10 GB.1.5 menetapkan maxmemory-gb sebesar 1,5 GB.maxmemory-gb dapat dikurangi hingga minimum 20% dari kapasitas instance Anda.
|
| maxmemory-policy | Menentukan perilaku yang diikuti Redis saat data instance mencapai batas maxmemory-gb. Lihat kebijakan Maxmemory untuk mengetahui deskripsi perilaku setiap kebijakan.Untuk informasi tambahan tentang kebijakan maxmemory Redis open source, lihat halaman cache LRU Redis open source |
noevictionallkeys-lruvolatile-lru (default)allkeys-randomvolatile-randomvolatile-ttlvolatile-lfu (Redis versi 4.0 dan yang lebih baru)allkeys-lfu (Redis versi 4.0 dan yang lebih baru)
|
| notify-keyspace-events | Mengizinkan klien berlangganan notifikasi pada peristiwa keyspace tertentu. Lihat halaman Redis Keyspace Notifications di situs Redis untuk mengetahui informasi selengkapnya. | "" (default)KPeristiwa keyspace, dipublikasikan dengan awalan __keyspace@ EPeristiwa Keyevent, dipublikasikan dengan awalan __keyevent@ gPerintah generik (tidak spesifik per jenis) seperti DEL, EXPIRE, atau RENAME $Perintah string lPerintah daftar sPerintah set hPerintah hash zPerintah set yang diurutkan xPeristiwa yang sudah berakhir (peristiwa yang dihasilkan setiap kali kunci berakhir) ePeristiwa yang dikeluarkan (peristiwa yang dihasilkan saat kunci dikeluarkan untuk maxmemory) AAlias untuk g$lshzxe, sehingga string "AKE" berarti semua peristiwa. |
stream-node-max-bytes |
Redis versi 5.0 atau yang lebih baru. Struktur data stream Redis menggunakan radix tree untuk menyimpan item. Parameter stream-node-max-bytes menentukan jumlah maksimum byte yang tersedia untuk menyimpan item dalam satu node pohon. Setelah batas ini tercapai, item baru akan disimpan di node pohon baru. |
Bilangan bulat 0 dan yang lebih tinggi. (default=4096) 0 menunjukkan node pohon dengan ukuran tidak terbatas. |
stream-node-max-entries |
Redis versi 5.0 atau yang lebih baru. Struktur data stream Redis menggunakan radix tree untuk menyimpan item. Parameter stream-node-max-entries menentukan jumlah item yang dapat disimpan dalam satu node. Saat batas ini tercapai, item baru akan disimpan di node pohon baru. |
Bilangan bulat 0 dan yang lebih tinggi. (default=100) 0 menunjukkan node pohon dengan jumlah item yang tidak terbatas. |
timeout |
Jumlah detik sebelum koneksi klien yang tidak aktif dihentikan. Namun, jika timeout disetel ke 0, klien yang tidak aktif tidak akan mengalami waktu tunggu dan tetap terhubung hingga klien mengeluarkan penghentian.
|
0 (default) Bilangan bulat >= 120 Satuan = detik |
Parameter konfigurasi yang tidak dapat diubah
Tabel berikut mencantumkan parameter konfigurasi Redis yang tidak dapat Anda ubah di Memorystore for Redis dan nilai defaultnya. Lihat dokumentasi konfigurasi Redis untuk mengetahui informasi mendetail tentang parameter konfigurasi ini.
| Parameter | Nilai Default |
|---|---|
lua-time-limit |
5000 |
hash-max-ziplist-entries |
2048 |
hash-max-ziplist-value |
1024 |
list-max-ziplist-size |
-2 |
list-compress-depth . |
0 |
set-max-intset-entries |
512 |
zset-max-ziplist-entries |
1024 |
zset-max-ziplist-value |
1024 |
hll-sparse-max-byte |
3000 |
activerehashing |
ya |
hz |
10 |
databases |
16 |
maxclients |
65000 |
slowlog-log-slower-than |
10000 |
slowlog-max-len |
128 |
repl-diskless-load |
swapdb |
io-threads-do-reads |
ya |
Langkah berikutnya
- Pelajari lebih lanjut konfigurasi Redis di halaman konfigurasi Redis open source