informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Redis (RemoteDictionaryServer, tipe kamus jarak jauh) adalah database NoSQL open source yang ditulis dalam bahasa C. Redis berjalan berdasarkan memori dan mendukung persistensi. Redis mengadopsi bentuk penyimpanan nilai kunci (pasangan nilai kunci) dan merupakan bagian tak terpisahkan dari arsitektur terdistribusi saat ini.
NoSQL (NoSQL= Not Only SQL), yang berarti "bukan hanya SQL", adalah istilah umum untuk database non-relasional. Basis data NoSQL arus utama mencakup Redis, MongBD, Hbase, CouhDB, dll. Basis data non-relasional di atas sangat berbeda dalam metode penyimpanan, struktur penyimpanan, dan skenario penggunaannya. Jadi menurut kami ini adalah kumpulan database non-relasional, bukan istilah umum seperti database relasional. Dengan kata lain, database selain database relasional arus utama dapat dianggap non-relasional. Basis data NOSQL dianggap sebagai produk basis data generasi berikutnya karena keunggulan non-relasional, terdistribusi, sumber terbuka, dan ekspansi horizontal.
Basis data relasional adalah basis data terstruktur berdasarkan model relasional dan umumnya berorientasi pada catatan. Ini memproses data dalam database dengan bantuan konsep dan metode matematika seperti aljabar himpunan. Model relasional mengacu pada model tabel dua dimensi, jadi database relasional adalah organisasi data yang terdiri dari tabel dua dimensi dan hubungan di antara keduanya. Di dunia nyata, berbagai entitas dan berbagai hubungan antar entitas dapat direpresentasikan dengan model relasional. Pernyataan SQL (Bahasa Kueri Data Standar) adalah bahasa yang didasarkan pada basis data relasional dan digunakan untuk mengambil dan mengoperasikan data dalam basis data relasional.
Dengan munculnya situs web Web2.0, database relasional terekspos ketika berhadapan dengan situs web Web2.0, terutama situs web Web2.0 yang murni dinamis dengan data besar dan SNS konkurensi tinggi (Layanan Jejaring Sosial, yaitu layanan jejaring sosial). yang sulit dipecahkan, seperti masalah tiga tinggi.
Situs web Web2.0 akan menghasilkan halaman dinamis dan memberikan informasi dinamis secara real time berdasarkan informasi pribadi pengguna, sehingga teknologi statis halaman dinamis tidak dapat digunakan. Oleh karena itu, beban database secara bersamaan sangat tinggi, umumnya mencapai lebih dari 10.000 permintaan baca dan tulis. Basis data relasional masih dapat mendukung puluhan ribu permintaan kueri, tetapi jika ada puluhan ribu permintaan penulisan data, hard disk I0 tidak dapat lagi menahannya. Untuk situs web BBS biasa, sering kali terdapat permintaan penulisan data bersamaan yang tinggi.
Situs web SNS seperti Facebook dan Friendfeed menghasilkan sejumlah besar informasi dinamis pengguna setiap hari. Misalnya, Friendfeed akan menghasilkan tidak kurang dari 250 juta informasi dinamis pengguna dalam sebulan. Untuk database relasional, efisiensi kueri sangat rendah ketika menjalankan kueri SQL dalam tabel yang berisi 250 juta catatan.
Dalam arsitektur Web, database adalah yang paling sulit untuk diskalakan secara horizontal. Ketika jumlah pengguna dan kunjungan ke sistem aplikasi meningkat dari hari ke hari, database tidak bisa begitu saja meningkatkan kinerja dan kapasitas muatnya dengan menambahkan perangkat keras dan node server seperti layanan Web. Khusus untuk beberapa website yang perlu menyediakan layanan 24 jam sehari, pemutakhiran dan perluasan database seringkali disertai dengan pemeliharaan downtime dan migrasi data, serta beban kerjanya yang sangat besar.
Basis data relasional dan basis data non-relasional memiliki karakteristik dan skenario penerapannya masing-masing. Kombinasi keduanya akan membawa ide-ide baru dalam pengembangan basis data Web2.0. Biarkan database relasional fokus pada hubungan, dan database non-relasional fokus pada penyimpanan. Misalnya, dalam lingkungan database MySQL yang membaca dan menulis dipisahkan, data yang sering diakses dapat disimpan dalam database non-relasional untuk meningkatkan kecepatan akses.
Ini memiliki kecepatan membaca dan menulis data yang sangat tinggi. Kecepatan membaca data dapat mencapai hingga 110,000 kali/detik, dan kecepatan menulis data dapat mencapai hingga 81,000 kali/detik.
Mendukung tipe data yang kaya, tidak hanya mendukung data tipe nilai kunci sederhana, tetapi juga mendukung operasi tipe data seperti Strings, Lists, Hashes, Sets dan Ordered Sets.
Mendukung persistensi data. Data di memori dapat disimpan di disk dan dapat dimuat kembali untuk digunakan saat restart.
Atomik, semua operasi Redis bersifat atomik.
Mendukung pencadangan data, yaitu pencadangan data dalam mode penyimpanan utama.
Redis adalah database berbasis memori, dan caching adalah salah satu skenario aplikasi yang paling umum. Selain itu, skenario aplikasi umum Redis juga mencakup operasi untuk memperoleh data N terbaru, pemeringkatan aplikasi, penghitung aplikasi, hubungan penyimpanan, sistem analisis waktu nyata, dan pencatatan.
[root@localhost ~]# systemctl stop firewalld //Dalam lingkungan eksperimental, mematikan firewall tidak berpengaruh. Tidak disarankan untuk mematikannya di lingkungan produksi.
[root@localhost ~]# setenforce 0 //Matikan kernel, yang akan memblokir aplikasi agar tidak berjalan.
[root@localhost ~]# yum -y install gcc* zlib-devel //Unduh alat yang diperlukan untuk mendekompresi paket tar
[akar@host lokal ~]#tar xvzf redis-4.0.9.tar.gz //redis adalah aplikasi open source dan gratis. Anda dapat mengunduh paket ini dari situs resminya
[akar@host lokal ~]#cd redis-4.0.9/
[root@localhost redis-4.0.9]# membuat
Melihat:
Saat membuat, pesan kesalahan berikut mungkin muncul:
Solusi 1: Gunakanbuat MALLOC=libc menentukan pengalokasi memori untuk libcmenyusun
Solusi 2: bersihkan && make distclean
[root@localhost redis-4.0.9]# buat PREFIX=/usr/local/redis instal
[root@localhost ~]# ln -s /usr/lokal/redis/bin/* /usr/lokal/bin/
[root@localhost redis-4.0.9]# cd /root/redis-4.0.9/utils/
[root@localhost utilitas]# ./install_server.sh
Komentar:
File konfigurasi: /etc/redis/6379.conf //Jalur file konfigurasi
Berkas log: /var/log/redis_6379.log //Jalur berkas log
Dir data: /var/lib/redis/6379 //Jalur file data
Dapat dieksekusi: /usr/local/redis/bin/redis-server //jalur file yang dapat dieksekusi
Cli yang Dapat Dieksekusi: /usr/local/redis/bin/redis-cli //Alat baris perintah klien
[root@localhost utilitas]# netstat -anpt | grep redis
[root@localhost ~]#/etc/init.d/redis_6379 berhenti
[root@localhost ~]#/etc/init.d/redis_6379 mulai
[root@localhost ~]#/etc/init.d/redis_6379 mulai ulang
[root@localhost ~]#/etc/init.d/redis_6379 status
[root@localhost ~]#vim /etc/redis/6379.conf
ikat 127.0.0.1 192.168.10.101 //Mendengarkan alamat host
pelabuhan 6379 //pelabuhan
daemonisasi ya //Aktifkan proses daemon
file pid /var/jalankan/redis_6379.pid //Tentukan file PID
pemberitahuan loglevel //tingkat log
berkas log /var/log/redis_6379.log //Tentukan file log
[root@localhost~]#/etc/init.d/redis_6379 mulai ulang
[root@localhost utilitas]# netstat -anpt | grep redis
Ø redis-server: alat untuk memulai Redis;
Ø redis-benchmark: digunakan untuk mendeteksi efisiensi berjalannya Redis pada mesin ini;
Ø redis-check-aof: Memperbaiki file persistensi AOF;
Ø redis-check-rdb: Memperbaiki file persistensi RDB;
Ø redis-cli: Alat baris perintah Redis.
[root@localhost ~]# redis-cli
127.0.0.1:6379>
127.0.0.1:6379> ping
PONG
[root@localhost ~]#redis-cli -h 192.168.10.101 -p 6379
Ø bantuan@<group> :Memperoleh<group> daftar perintah di ;
Ø bantuan<command> : Dapatkan bantuan untuk suatu perintah;
Ø bantuan<tab> : Dapatkan daftar topik yang mungkin membantu.
Komentar:
Ø bantuan<tab> : Dapatkan daftar topik yang mungkin membantu.
Setelah mengetik bantuan, tekan tombol tab
127.0.0.1:6379>bantuan @daftar
127.0.0.1:6379>bantuan set
redis-benchmark adalah alat pengujian kinerja Redis resmi yang dapat menguji kinerja layanan Redis secara efektif.
Ø -h: Tentukan nama host server;
Ø -p: Tentukan port server;
Ø -s: Tentukan soket server;
Ø -c: Tentukan jumlah koneksi bersamaan;
Ø -n: Tentukan jumlah permintaan;
Ø -d: Tentukan ukuran data dari nilai SET/GET dalam byte;
Ø -k:1=tetap hidup 0=sambung kembali;
Ø -r: SET/GET/INCR menggunakan kunci acak, SADD menggunakan nilai acak;
Ø -P : Transmisi melalui pipa<numreq> bertanya;
Ø -q: Paksa keluar dari redis. Hanya nilai kueri/detik yang ditampilkan;
Ø --csv: keluaran dalam format CSV;
Ø -l: Hasilkan loop dan jalankan pengujian secara permanen;
Ø -t: Hanya jalankan daftar perintah pengujian yang dipisahkan koma;
Ø -I: Mode siaga. Buka hanya N koneksi idle dan tunggu.
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -c 100 -n 100000 //Kirim 100 koneksi bersamaan dan 100000 pengujian permintaan ke server Redis dengan alamat IP 192.168.10.101 dan kinerja port 6379
Komentar:
Ø -h: Tentukan nama host server;
Ø -p: Tentukan port server;
Ø -c: Tentukan jumlah koneksi bersamaan;
Ø -n: Tentukan jumlah permintaan;
====== MSET (10 kunci) ======
100000 permintaan diselesaikan dalam 1,02 detik
100 klien paralel ##100 koneksi bersamaan
Muatan 3 byte
tetap hidup: 1
87,25% <= 1 milidetik ##87.25% waktu eksekusi perintah kurang dari atau sama dengan 1 milidetik
99,90% <= 2 milidetik
100,00% <= 2 milidetik
97943.19 permintaan per detik #Jumlah permintaan per detik
[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -q -d 100
Komentar:
Ø -h: Tentukan nama host server;
Ø -p: Tentukan port server;
Ø -d: Tentukan ukuran data dari nilai SET/GET dalam byte;
Ø -q: Paksa keluar dari redis. Hanya nilai kueri/detik yang ditampilkan;
PING_INLINE: 121506.68 permintaan per detik //Berapa banyak operasi PING yang diselesaikan per detik
PING_BULK: 124378.11 permintaan per detik
SET: 121654.50 permintaan per detik //Berapa kali per detik SET key vlaue selesai
DAPATKAN: 122100.12 permintaan per detik //Berapa banyak nilai kunci GET yang diselesaikan per detik
INCR: 118764.84 permintaan per detik //Berapa banyak hitungan atom yang diselesaikan per detik
LPUSH: 112612.61 permintaan per detik
RPUSH: 118623,96 permintaan per detik
LPOP: 107874,87 permintaan per detik
RPOP: 114416,48 permintaan per detik
SADD: 123304,56 permintaan per detik
HSET: 122249,38 permintaan per detik
SPOP: 128040.97 permintaan per detik
LPUSH (diperlukan untuk mengukur LRANGE): 116686.12 permintaan per detik
LRANGE_100 (100 elemen pertama): 40016.00 permintaan per detik
LRANGE_300 (300 elemen pertama): 11991,85 permintaan per detik
LRANGE_500 (450 elemen pertama): 7381,71 permintaan per detik
LRANGE_600 (600 elemen pertama): 5230,67 permintaan per detik
MSET (10 kunci): 92421,44 permintaan per detik //Beberapa kunci v per detikselamat datangJumlah permintaan
[root@localhost ~]# redis-benchmark -t atur,lpush -n 100000 -q //Uji kinerja layanan Redis pada mesin ini selama operasi set dan lpush.
Komentar:
Ø -n: Tentukan jumlah permintaan;
Ø -q: Paksa keluar dari redis. Hanya nilai kueri/detik yang ditampilkan;
Ø -t: Hanya jalankan daftar perintah pengujian yang dipisahkan koma;
SET: 121951.22 permintaan per detik
LPUSH: 127226.46 permintaan per detik
Ø mengatur: Menyimpan data. Format perintah dasarnya adalah tetapkan nilai kunci。
Ø mendapatkan: Dapatkan data, format perintah dasarnya adalah dapatkan kunci。
ada Merah dalam database, dengan kunci Perintah yang relevan terutama mencakup hal-hal berikut.
menggunakan kunci Perintah tersebut dapat mengambil daftar nilai kunci yang sesuai dengan aturan. Biasanya dapat digabungkan* ,? pilihan untuk digunakan.
127.0.0.1:6379>mengatur k1 1
OKEEEEEEEEEEEEEEE
127.0.0.1:6379>mengatur k2 2
OKEEEEEEEEEEEEEEE
127.0.0.1:6379>mengatur k3 3
OKEEEEEEEEEEEEEEE
127.0.0.1:6379>mengatur v1 4
OKEEEEEEEEEEEEEEE
127.0.0.1:6379>mengatur v5 5
OKEEEEEEEEEEEEEEE
127.0.0.1:6379>KUNCI *
1) "guru"
2) "k1"
3) "k2"
4) "k3"
5) "v1"
6) "v5"
127.0.0.1:6379>mengatur v22 5
OKEEEEEEEEEEEEEEE
127.0.0.1:6379>KUNCI v*
1) "v1"
2) "v5"
3) "v22"
127.0.0.1:6379>KUNCI v?
1) "v1"
2) "v5"
127.0.0.1:6379>KUNCI v??
1) "v22"
ada Perintah tersebut dapat menentukan apakah nilai kunci ada
127.0.0.1:6379>ada guru
(bilangan bulat) 1
Hasilnya 1 yang artinya guru kuncinya ada
127.0.0.1:6379>ada teh
(bilangan bulat) 0
Hasilnya 0 yang artinya teh kuncinya tidak ada
menghapus Perintah tersebut dapat menghapus yang ditentukan kunci
127.0.0.1:6379>kunci *
1) "guru"
2) "v1"
3) "v22"
4) "k3"
5) "k1"
6) "k2"
7) "v5"
127.0.0.1:6379> dari v5
(bilangan bulat) 1
127.0.0.1:6379>dapatkan v5
(nol)
menggunakan jenis Perintah dapat diperoleh kunci sesuai nilai tipe nilai
127.0.0.1:6379>tipe k1
rangkaian
Komentar:
Tipe data yang didukung oleh redis
mengganti nama Perintahnya untuk yang sudah ada kunci ganti nama
Dalam penggunaan sebenarnya, disarankan untuk menggunakan ada Perintah untuk melihat target kunci ada, dan kemudian memutuskan apakah akan mengeksekusi mengganti nama perintah untuk menghindari penimpaan data penting
127.0.0.1:6379>kunci v*
1) "v1"
2) "v22"
127.0.0.1:6379>ganti nama v22 v2
OKEEEEEEEEEEEEEEE
127.0.0.1:6379>kunci v*
1) "v1"
2) "v2"
127.0.0.1:6379>dapatkan v1
"4"
127.0.0.1:6379>dapatkan v2
"5"
127.0.0.1:6379>ganti nama v1 v2
OKEEEEEEEEEEEEEEE
127.0.0.1:6379>dapatkan v1
(nol)
127.0.0.1:6379>dapatkan v2
"4"
ganti nama Fungsi dari perintah tersebut adalah untuk memodifikasi yang sudah ada kunci Lakukan rename dan periksa apakah nama baru tersebut ada.
menggunakanganti nama Ketika perintah diubah namanya, jika targetnya kunci Jika ada, maka tidak akan diganti namanya.
127.0.0.1:6379>kunci *
1) "guru"
2) "k3"
3) "k1"
4) "k2"
5) "v2"
127.0.0.1:6379>dapatkan guru
"Zhanglong"
127.0.0.1:6379>dapatkan v2
"4"
127.0.0.1:6379>guru renamenx v2
(bilangan bulat) 0
127.0.0.1:6379>kunci *
1) "guru"
2) "k3"
3) "k1"
4) "k2"
5) "v2"
127.0.0.1:6379>dapatkan guru
"Zhanglong"
127.0.0.1:6379>dapatkan v2
"4
ukuran db Tujuan dari perintah ini adalah untuk melihat database saat ini kunci Jumlah.
127.0.0.1:6379> ukuran db
(bilangan bulat) 5
Merah Disertakan secara default tanpa perubahan apa pun 16 database, nama database adalah angka 0-15 untuk diberi nama secara berurutan
(1)Beralih ke nomor seri 10 basis data
127.0.0.1:6379>pilih 10
OKEEEEEEEEEEEEEEE
(2)Beralih ke nomor seri 15 basis data
127.0.0.1:6379[10]>pilih 15
OKEEEEEEEEEEEEEEE
(3)Beralih ke nomor seri 0 basis data
127.0.0.1:6379[15]>pilih 0
Merah Beberapa database relatif independen sampai batas tertentu, misalnya dalam database 0 Simpan di atas Bahasa Inggris: Bahasa Inggris: Bahasa Inggris: k1 data, di sisi lain 1-15 Itu tidak dapat dilihat di database.
127.0.0.1:6379>mengatur k1 100
OKEEEEEEEEEEEEEEE
127.0.0.1:6379>dapatkan k1
"100"
127.0.0.1:6379>pilih 1
OKEEEEEEEEEEEEEEE
127.0.0.1:6379[1]>dapatkan k1
(nol)
127.0.0.1:6379[1]>pilih 0 //Beralih ke basis data target 0
OKEEEEEEEEEEEEEEE
127.0.0.1:6379>dapatkan k1 //Periksa apakah data target ada
"100"
127.0.0.1:6379>pindah k1 1 //basis data 0 tengah Bahasa Inggris: Bahasa Inggris: Bahasa Inggris: k1 Pindah ke basis data 1 tengah
(bilangan bulat) 1
127.0.0.1:6379>pilih 1 //Beralih ke basis data target 1
OKEEEEEEEEEEEEEEE
127.0.0.1:6379[1]>dapatkan k1 //Lihat data yang dipindahkan
"100"
127.0.0.1:6379[1]> pilih 0
OKEEEEEEEEEEEEEEE
127.0.0.1:6379> dapatkan k1 //dalam basis data 0 Tidak dapat dilihat di Bahasa Inggris: Bahasa Inggris: Bahasa Inggris: k1 nilai
(nol)
Untuk menghapus data database saat ini, gunakan BAHASA INGGRIS
Implementasi perintah; hapus semua data database, gunakan SIRAM SEMUA Implementasi perintah
Merah Semua data disimpan dalam memori dan kemudian disimpan secara asinkron ke disk dari waktu ke waktu.(Ini disebut“Mode semi-persisten”); Anda juga dapat menulis setiap perubahan data ke a tambahkan hanya file(aof)di dalam(Ini disebut“Mode persistensi penuh”)。
Karena data Redis disimpan di memori, jika persistensi tidak dikonfigurasi,Merah Setelah restart, semua data hilang.Oleh karena itu, perlu untuk mengaktifkannyaMerah Fungsi persistensi menyimpan data ke disk Kapan Merah Setelah reboot, data dapat dipulihkan dari disk.Merah Dua metode disediakan untuk ketekunan, satu adalah Bahasa Indonesia: Bahasa Indonesia: RDB(Basis Data Redis) Ketekunan (prinsipnya adalah untuk Reid dan para pengikutnyaWaktu pencatatan basis data dalam memori membuang ke disk Bahasa Indonesia: Bahasa Indonesia: Bahasa Indonesia: RDB ketekunan), yang lainnya adalah Angkatan Udara(tambahkan saja mengajukan)Ketekunan (prinsipnya adalah untuk Reid dan para pengikutnya Log operasi ditulis ke file dengan cara terlampir).
Metode bawaan
Persistensi RDB adalah proses menghasilkan snapshot dari data proses saat ini dan menyimpannya ke hard disk. Proses memicu persistensi RDB dibagi menjadi pemicu manual dan pemicu otomatis.
Mekanisme pemicu: Pemicu manual sesuai dengan perintah simpan dan bgsave masing-masing.
perintah simpan: memblokir server Redis saat ini hingga proses RDB selesai. Untuk instance dengan jumlah memori yang besar, ini akan menyebabkan pemblokiran waktu. Tidak disarankan untuk digunakan di lingkungan online.
perintah bgsave: Proses Redis menjalankan operasi fork (fungsi yang digunakan untuk membuat proses) untuk membuat proses anak. Proses persistensi RDB bertanggung jawab atas proses anak dan berakhir secara otomatis setelah selesai. Pemblokiran hanya terjadi selama fase fork.
Keuntungan RDB:
RDB adalah file biner terkompresi dan ringkas yang mewakili cuplikan data Redis pada titik waktu tertentu. Sangat cocok untuk pencadangan, penyalinan penuh, dan skenario lainnya. Misalnya, lakukan pencadangan bgsave setiap 6 jam dan salin file RDB ke mesin jarak jauh atau sistem file untuk pemulihan bencana.
Redis memuat RDB dan memulihkan data jauh lebih cepat daripada metode AOF.
Kekurangan RDB:
Data dalam mode RDB tidak dapat mencapai persistensi real-time/persistensi tingkat kedua. Karena setiap kali bgsave dijalankan, operasi fork dilakukan untuk membuat proses anak, yang merupakan operasi kelas berat dan biaya eksekusi yang sering terlalu tinggi.
File RDB disimpan dalam format biner tertentu. Selama evolusi versi Redis, ada beberapa format versi RDB. Ada masalah bahwa versi lama layanan Redis tidak kompatibel dengan format RDB versi baru.
Persistensi AOF (tambahkan file saja): catat setiap perintah tulis di log independen, lalu jalankan kembali perintah di file AOF untuk memulihkan data saat memulai ulang. Fungsi utama AOF adalah untuk menyelesaikan masalah persistensi data secara real-time. Hal ini kini menjadi arus utama persistensi Redis.
Kriteria untuk memilih di antara keduanya:
Korbankan sebagian kinerja demi konsistensi cache yang lebih tinggi (Angkatan Udara),
Jika operasi penulisan sering dilakukan, jangan aktifkan pencadangan untuk mendapatkan kinerja yang lebih tinggi dan tunggu operasi manual. menyimpan kapan, buat cadangan lagi (Bahasa Indonesia: Bahasa Indonesia: RDB)
Komentar:
Jika file persisten perlu dimuat setelah proses ulang dimulai ulang, file AOF akan dipilih.
Jika RDB diaktifkan terlebih dahulu lalu AOF diaktifkan, dan RDB dipertahankan terlebih dahulu, konten dalam file RDB akan ditimpa oleh AOF.
[root@localhost ~]# vim /etc/redis/6379.conf
Buka 6379.conf Setelah file tersebut, cari menyimpan, Anda dapat melihat informasi konfigurasi seperti gambar di bawah ini.
ada Merah Ada tiga metode sinkronisasi pada file konfigurasi, yaitu:
selalu: persistensi sinkron, setiap kali data berubah, data akan segera ditulis ke disk
everysec: Direkomendasikan secara default, rekam secara asinkron setiap detik (nilai default)
no: Tidak ada sinkronisasi, menyerahkan kepada sistem operasi untuk memutuskan bagaimana melakukan sinkronisasi
Abaikan instruksi terakhir yang berpotensi bermasalah
[root@localhost ~]#/etc/init.d/redis_6379 mulai ulang
untuk menyelesaikannya Angkatan Udara Jika ukuran file terus bertambah, pengguna dapat melaporkan ke Merah mengirim BGREWRITEAOFMemesan.BGREWRITEAOF Perintah akan dihapus melalui Angkatan Udara perintah berlebihan dalam file untuk ditimpa (menulis kembali)Angkatan Udarafile, buat Angkatan Udara Usahakan ukuran file sekecil mungkin.
127.0.0.1:6379> tuliskan bgre
Penulisan ulang file hanya penambahan latar belakang dimulai
# Jika lognya adalah BGREWRITEAOF,jikano-appendfsync-saat-menulis-ulangDisetel ke ya, yang berarti operasi penulisan baru tidak akan disinkronkan dengan fsync, tetapi hanya akan disimpan sementara di buffer. , untuk menghindari konflik operasi IO disk, tunggu hingga penulisan ulang selesai sebelum menulis. Default di Redis adalah no
no-appendfsync-on-rewrite tidak
# Ketika ukuran file AOF saat ini dua kali ukuran file AOF selama penulisan ulang log terakhir, operasi BGREWRITEAOF terjadi.
auto-aof-tulis ulang-persentase 100
Komentar:
100 mengacu padaRasio pertumbuhan file AOF mengacu pada rasio pertumbuhan file AOF saat ini dibandingkan dengan penulisan ulang terakhir.,100 adalah dua kali
#Nilai minimum file AOF saat ini untuk menjalankan perintah BGREWRITEAOF untuk menghindari seringnya BGREWRITEAOF karena ukuran file kecil saat Reids pertama kali dimulai.
auto-aof-tulis ulang-ukuran-min 64mb
192.168.9.236:7001> memori informasi
Used_memory:1210776 #Ukuran memori yang digunakan,dalam byte
Used_memory_human:1.15M # Tampilan dengan unit,di M
Used_memory_rss:7802880 # Berapa banyak memori yang ditempati redis dari sudut pandang sistem operasi?
Used_memory_rss_human:7.44M # Tampilan dengan unit
maxmemory:1073741824 # Ukuran memori maksimum
maxmemory_human:1.00G # Tampilan dengan unit
kebijakan memori-maksimum: Strategi daur ulang
Ø volatil-lru: itu memungkinkan Merah Pilih yang terakhir digunakan dari seluruh kumpulan data kunci Menghapus
Ø volatil-ttl:Hilangkan sesuai dengan masa kadaluarsa kunci
Ø acak-mudah menguap: Memilih data secara acak untuk dihilangkan dari pengumpulan data dengan waktu kedaluwarsa yang ditetapkan;
Ø semua kunci-lru:menggunakan LRU Algoritma menghilangkan data dari semua kumpulan data;
Ø semua kunci acak: Memilih data secara acak untuk dihilangkan dari pengumpulan data;
Ø pengusiran: Nonaktifkan penghapusan data (nilai default)
Komentar:
Tetapkan waktu kedaluwarsa kunci
kedaluwarsa v1 10
v1 memiliki waktu kedaluwarsa 10 detik
Komentar:
Kapan Merah Perlu mengambilnya kembali karena tekanan memori kunci jam,Merah Pertimbangan pertama bukanlah mendaur ulang data terlama, melainkan data yang paling sedikit digunakan. kunci atau akan kedaluwarsa kunci Pilih satu secara acak kunci, dihapus dari kumpulan data
Temukan kata kunci requirepass, diikuti dengan kata sandi. Ini dikomentari secara default, yaitu tidak diperlukan kata sandi secara default, sebagai berikut:
Buka komentar, tetapkan sebagai kata sandi Anda sendiri, dan mulai ulang
Gunakan redis-cli untuk terhubung ke redis dan jalankan perintah berikut
set konfigurasi memerlukan pass 123456
Setelah eksekusi selesai, tidak perlu memulai ulang. Anda harus memasukkan kata sandi saat keluar dari klien dan masuk kembali.
[root@localhost bin]# ./redis-cli -a 123456
[root@localhost bin]# ./redis-cli127.0.0.1:6379> autentikasi 123456
[root@localhost bin]# ./redis-cli -a 123456 matikan
1) Kata sandi yang ditetapkan dengan memodifikasi file konfigurasi akan berlaku secara permanen; kata sandi yang ditetapkan dengan menggunakan perintah akan berlaku sementara dan akan menjadi tidak valid setelah dimulai ulang.
2) Memodifikasi kata sandi yang ditetapkan dalam file konfigurasi memerlukan restart agar dapat diterapkan; gunakan kata sandi yang ditetapkan oleh perintah agar berlaku setelah keluar dan masuk lagi, dan itu akan menjadi tidak valid setelah memulai ulang.
3) Prioritas perintah lebih tinggi dari prioritas file konfigurasi