Rumah  >  Artikel  >  pangkalan data  >  Bercakap secara ringkas tentang GETBIT dan SETBIT dalam Redis

Bercakap secara ringkas tentang GETBIT dan SETBIT dalam Redis

藏色散人
藏色散人ke hadapan
2021-09-12 16:49:172369semak imbas

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.

Pembelajaran yang disyorkan: "tutorial redis"

Atas ialah kandungan terperinci Bercakap secara ringkas tentang GETBIT dan SETBIT dalam Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:segmentfault.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam