Maison > base de données > Redis > le corps du texte

Parlez brièvement de GETBIT et SETBIT dans Redis

藏色散人
Libérer: 2021-09-20 17:10:29
avant
2366 Les gens l'ont consulté

Redis est une base de données en mémoire et ses avantages sont évidents.
Vous pouvez lire l'introduction sur le site officiel pour plus de détails. https://redis.io

Il comporte cinq types de données principaux : chaînes, listes, ensembles et hachages.
Quand j'ai appris les commandes courantes du type chaînes, je me suis senti très puissant à propos des articles d'application de GETBITSETBIT的意义并不是非常了解,所以就搜索了一下相关文章。看到一篇介绍GETBITSETBIT Les enregistrements sont les suivants :

Lorsque nous nous connectons à certains sites Web de blogs ou de sites Web de vidéos, les sites Web enregistrent souvent si nous avons. lu un certain article ou regardé une vidéo.

S'il est implémenté avec une base de données MySQL traditionnelle, s'il y a un grand nombre d'utilisateurs et de nombreux articles et vidéos, cela mettra beaucoup de pression sur la base de données.

Il sera beaucoup plus simple d'utiliser GETBIT et SETBIT de Redis.
Prenons la vidéo comme exemple. Nous utilisons le bitmap pour enregistrer si les utilisateurs ont regardé une certaine vidéo correspond à un bitmap. Par exemple,

key:   video:1201
value: 000000...0000
Copier après la connexion

key est marqué du nom anglais de la vidéo video+colon+id.
value est un bitmap. Un bit a deux possibilités, 0 ou 1. 0 signifie non visualisé, 1 signifie déjà visualisé.
La position (décalage) représente l'identifiant de l'utilisateur. Par exemple, la 200ème position indique si l'utilisateur avec l'ID_utilisateur 200 a regardé la vidéo avec l'ID 1201.

Paramètres

# SETBIT key offset value

SETBIT video:1201 200 1
# 上面的命令就是设置ID为200的用户,已经看过了ID为1201的视频。
Copier après la connexion

Requête

# GETBIT key offset
GETBIT video:1201 200
# 上面的命令就是查询ID为200的用户是否观看了ID为1201的视频
Copier après la connexion

Bien sûr, vous pouvez également correspondre à un bitmap pour chaque utilisateur. Les bits du bitmap représentent si une vidéo a été regardée.

De plus, l'article montrera également que les enregistrements d'enregistrement ou de connexion actuellement très populaires peuvent également être implémentés avec une conception similaire.
Par exemple, utilisez un bitmap pour enregistrer l'état de connexion de tous les utilisateurs. Un bit dans le bitmap indique si un utilisateur s'est connecté ce jour-là, 0 signifie qu'il n'est pas connecté et 1 signifie qu'il est connecté.
Générez un bitmap chaque jour.

En comptant les bitmaps sur plusieurs jours, des opérations telles que le comptage des utilisateurs actifs peuvent être réalisées.

Apprentissage recommandé : "Tutoriel Redis"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal