Redis ialah pangkalan data dalam memeri, dan kelebihannya terbukti dengan sendirinya.
Untuk butiran, anda boleh membaca pengenalan di laman web rasmi. https://redis.io
Ia mempunyai lima jenis data utama: rentetan, senarai, set dan cincang.
Apabila saya mempelajari perintah biasa jenis rentetan, saya tidak tahu banyak tentang maksud GETBIT
dan SETBIT
, jadi saya mencari artikel berkaitan. Saya melihat artikel yang memperkenalkan aplikasi GETBIT
dan SETBIT
, yang dirasakan sangat berkuasa rekodnya adalah seperti berikut:
Apabila kita log masuk ke beberapa laman blog atau laman video, laman web tersebut sering merakam sama ada. kita membaca atau tidak Membaca artikel atau menonton video.
Jika dilaksanakan menggunakan pangkalan data mysql tradisional, jika terdapat bilangan pengguna yang ramai dan terdapat banyak artikel dan video, ia akan memberi banyak tekanan kepada pangkalan data.
Adalah lebih mudah untuk menggunakan GETBIT dan SETBIT Redis.
Mari kita ambil video sebagai contoh Kami menggunakan bitmap untuk merakam sama ada pengguna telah menonton video tertentu yang sepadan dengan satu bitmap. Sebagai contoh, kekunci
key: video:1201 value: 000000...0000
ditandakan dengan nama Inggeris id bertindih video.
nilai ialah peta bit. Satu bit mempunyai dua kemungkinan, 0 atau 1. 0 bermakna tidak dilihat, 1 bermakna sudah dilihat.
Kedudukan (offset) mewakili id pengguna. Sebagai contoh, kedudukan ke-200 mewakili sama ada pengguna dengan user_id 200 telah menonton video dengan id 1201.
Tetapan
# SETBIT key offset value SETBIT video:1201 200 1 # 上面的命令就是设置ID为200的用户,已经看过了ID为1201的视频。
Pertanyaan
# GETBIT key offset GETBIT video:1201 200 # 上面的命令就是查询ID为200的用户是否观看了ID为1201的视频
Sudah tentu, anda juga boleh sepadan dengan peta bit untuk setiap pengguna dan bit dalam peta bit mewakili sama ada video telah ditonton.
Selain itu, artikel itu juga akan menunjukkan bahawa rekod daftar masuk atau log masuk yang sangat popular pada masa ini juga boleh dilaksanakan dengan reka bentuk yang serupa.
Sebagai contoh, gunakan peta bit untuk merekodkan status log masuk semua pengguna Satu bit dalam peta bit mewakili sama ada pengguna log masuk pada hari itu, 0 bermakna tidak log masuk, dan 1 bermakna log masuk.
Jana peta bit setiap hari.
Dengan mengira bitmap berbilang hari, operasi seperti mengira pengguna aktif boleh dicapai.