Konfigurasi Redis yang didukung

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 operasi tulis baru masuk, Redis akan menghapus kunci untuk memberi 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. Menghapus kunci yang paling jarang digunakan (LFU) dari seluruh kumpulan kunci.
  • allkeys-lru: Menghapus 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 masa berlaku TTL (time to live).
  • volatile-lru: Menghapus kunci yang paling jarang digunakan (LRU) yang ditetapkan dengan masa berlaku TTL.
  • allkeys-random: Menghapus kunci acak dari seluruh ruang kunci.
  • volatile-random: Menghapus kunci acak dari antara kunci yang ditetapkan dengan masa berlaku TTL.
  • volatile-ttl: Menghapus 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 memperbarui instance Memorystore for Redis.


Parameter Deskripsi Nilai yang dapat diterima
activedefrag Redis versi 4.0, atau yang lebih baru. Berfungsi untuk mengosongkan 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-100
Defaultnya adalah 16
lazyfree-lazy-eviction Redis versi 7.0, atau yang lebih baru. Mengaktifkan/menonaktifkan penghapusan lambat untuk penghapusan. 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 lambat untuk berakhir masa berlakunya. 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 penghapusan lambat untuk DEL pengguna. 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 penghapusan lambat untuk flush pengguna. 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 akan dibagi dua (atau, jika penghitung < 10, dikurangi 1). Lihat file REDIS.CONF untuk mengetahui informasi selengkapnya. Bilangan bulat positif dari jenis data 'long'
(default=1)
lfu-log-factor Redis versi 4.0, atau yang lebih baru. Menentukan cara penghitung frekuensi menampilkan 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 terbanyak akan dihapus
Default-nya adalah 0% (tidak ada batas). Nilai yang dapat diterima adalah nilai persen bilangan bulat antara 0% dan 100%. Merepresentasikan persentase maxmemory instance yang membatasi penyimpanan klien.
maxmemory-gb Menetapkan batas yang dapat disesuaikan saat kebijakan penghapusan Anda berlaku. Misalnya, jika Anda memiliki instance 10 GB dan menetapkan maxmemory-gb ke 8, kebijakan penghapusan akan diterapkan saat data Anda menempati 8 GB memori instance. Hal ini akan menyisakan memori 2 GB sebagai overhead. Secara default, maxmemory-gb ditetapkan ke kapasitas instance Anda. Untuk mengetahui detail cara menggunakan konfigurasi maxmemory-gb dengan sebaik mungkin, lihat praktik terbaik pengelolaan memori Memorystore.

Konfigurasi ini ditampilkan sebagai maxmemory-percent di konsol Google 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 deskripsi perilaku setiap kebijakan.

Untuk informasi tambahan tentang kebijakan maxmemory Redis open source, lihat halaman cache LRU Redis open source
noeviction
allkeys-lru
volatile-lru (default)
allkeys-random
volatile-random
volatile-ttl
volatile-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 ruang kunci tertentu. Lihat halaman Notifikasi Keyspace Redis di situs Redis untuk mengetahui informasi selengkapnya. "" (default)
K
Peristiwa ruang kunci, yang dipublikasikan dengan awalan __keyspace@__.
E
Peristiwa keyevent, yang dipublikasikan dengan awalan __keyevent@__.
g
Perintah generik (tidak spesifik per jenis) seperti DEL, EXPIRE, atau RENAME
$
Perintah string
l
Perintah daftar
s
Perintah set
h
Perintah hash
z
Perintah set yang diurutkan
x
Peristiwa yang sudah tidak berlaku (peristiwa yang dihasilkan setiap kali kunci berakhir masa berlakunya)
e
Peristiwa yang dihapus (peristiwa yang dihasilkan saat kunci dihapus karena maxmemory)
A
Alias untuk g$lshzxe, sehingga string "AKE" berarti semua peristiwa.
stream-node-max-bytes Redis versi 5.0, atau yang lebih baru. Struktur data streaming Redis menggunakan hierarki radix untuk menyimpan item. Parameter stream-node-max-bytes menentukan jumlah maksimum byte yang tersedia untuk menyimpan item dalam satu node hierarki. Setelah batas ini tercapai, item baru akan disimpan di node hierarki baru. Bilangan bulat 0 dan yang lebih tinggi.
(default=4096)
0 menetapkan node hierarki dengan ukuran tidak terbatas.
stream-node-max-entries Redis versi 5.0, atau yang lebih baru. Struktur data streaming Redis menggunakan hierarki radix untuk menyimpan item. Parameter stream-node-max-entries menentukan jumlah item yang dapat disimpan dalam satu node. Jika batas ini tercapai, item baru akan disimpan di node hierarki baru. Bilangan bulat 0 dan yang lebih tinggi.
(default=100)
0 menetapkan node hierarki dengan jumlah item yang tidak terbatas.
timeout Jumlah detik sebelum koneksi klien yang tidak ada aktivitas dihentikan. Namun, jika timeout disetel ke 0, klien tidak ada aktivitas tidak akan habis waktu tunggunya dan tetap terhubung hingga klien mengeluarkan penghentian. 0 (default)
Bilangan bulat >= 120
Unit = detik

Parameter konfigurasi yang tidak dapat diubah

Tabel berikut mencantumkan parameter konfigurasi Redis yang tidak dapat Andaubah 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 selanjutnya