Maison base de données Redis Comment ajouter la commande Redis

Comment ajouter la commande Redis

Jun 20, 2020 pm 04:40 PM
redis Commande

Comment ajouter la commande Redis

Redis est devenu le cache standard pour les sociétés Internet en raison de ses hautes performances et de ses fonctionnalités légères. Parfois, nous souhaitons ajouter des commandes personnalisées, principalement dans les scénarios où Redis est fortement utilisé, comme. dans les scénarios d'achat de panique, il est nécessaire de garantir la transactionnalité de plusieurs commandes Redis. S'il n'y a pas de bonne garantie d'atomicité, des problèmes d'incohérence des données peuvent facilement survenir.

Bien que le plan de transaction officiel soit fourni, s'il est nécessaire de porter un jugement basé sur la valeur de retour d'une certaine commande avant de passer à l'étape suivante, le plan de transaction ne pourra pas y faire face.

Aujourd'hui, nous allons utiliser un cas pratique pour décrire comment ajouter une commande Redis. Cette commande est principalement utilisée dans les scénarios anti-brushing :

Il est souvent nécessaire de bannir une certaine IP ou une. certain utilisateur pendant un certain temps. Si cette commande n'est pas utilisée, la solution est la suivante :

Commencez par augmenter, puis déterminez si c'est 1. Si c'est 1, définissez le délai d'expiration. On peut voir que si le premier client qui initie la requête incr raccroche pendant une concurrence élevée, la clé n'expirera pas.

La commande à écrire aujourd'hui est utilisée pour assurer cette transaction. Le côté serveur s'assure que si la valeur de la clé est 1, le délai d'expiration est défini. L'utilisation de la commande

est la suivante :

incexpire key expireTime maxNum

key : la clé à traiter

expireTime : délai d'expiration, en secondes Si vous écrivez 10, cela signifie. que la clé expirera dans 10 secondes. ;

maxNum : Indique le montant à augmenter jusqu'à ce qu'il n'augmente pas. S'il est défini sur 10, la valeur maximale renvoyée est 11. Renvoyer 11 signifie qu'il a été. dépassé ;

2. Écrivez la commande

1. Téléchargez le code redis

La version Redis utilisée dans cet article est

Télécharger ; le code et passez à la branche 3.2.11

git clone https://github.com/antirez/redis

2. Écrivez du code de commande supplémentaire

1) Ajoutez une nouvelle commande à la structure redisCommandTable dans src/server.c

struct redisCommand redisCommandTable[] = {

redisCommandTable est un tableau, chaque élément représente une commande redis et le premier représente une commande. Le deuxième est la fonction de traitement réelle et le troisième est le nombre de paramètres. Les autres ne seront pas discutés en détail.

2) Ajoutez une déclaration de fonction dans src/server.h :

void incrExpireCommand(client *c);

3) Ajoutez ensuite un fichier comme ljh.c (nommez-le vous-même) et ajoutez le code suivant :

#include "server.h"

4) Ajouter un nouveau fichier ljh.o dans src/Makefile

REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking

L'effet d'exécution est le suivant

Comment ajouter la commande Redis

Comme vous pouvez le voir, après que key1 soit augmenté à 11, il n'augmente plus et après 10 secondes, il redevient 1.

Enfin, nous devons encore nous demander s'il est nécessaire d'ajouter des commandes Redis dans notre scénario. Si nécessaire, nous devons saisir les responsabilités entre chaque couche et ne pas laisser Redis finir par traiter les affaires ; a déclaré que la couche middleware gère généralement des fonctions relativement courantes. Les couches inférieures devraient être plus stables et moins il y a de changements, la situation est normale.

Pour plus de connaissances connexes, veuillez prêter attention à la colonne tutoriel d'introduction à 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!

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Guide de construction d'Agnes Tachyon | Un joli Musume Derby
2 Il y a quelques semaines By Jack chen
Oguri Cap Build Guide | Un joli Musume Derby
3 Il y a quelques semaines By Jack chen
Guide de construction de Grass Wonder | Uma musume joli derby
2 Il y a quelques semaines By Jack chen
Pic comment émoter
4 Il y a quelques semaines By Jack chen

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Points d'optimisation de Laravel8 Points d'optimisation de Laravel8 Apr 18, 2025 pm 12:24 PM

Laravel 8 fournit les options suivantes pour l'optimisation des performances: Configuration du cache: utilisez Redis pour cache des pilotes, des façades de cache, des vues de cache et des extraits de page. Optimisation de la base de données: établissez l'indexation, utilisez la portée de la requête et utilisez des relations éloquentes. Optimisation JavaScript et CSS: utilisez le contrôle de version, fusionnez et rétractable, utilisez CDN. Optimisation du code: utilisez le package d'installation du compositeur, utilisez les fonctions Laravel Helper et suivez les normes PSR. Surveillance et analyse: utilisez Laravel Scout, utilisez le télescope, surveillez les mesures d'application.

Comment utiliser la solution Redis Cache pour réaliser efficacement les exigences de la liste de classement des produits? Comment utiliser la solution Redis Cache pour réaliser efficacement les exigences de la liste de classement des produits? Apr 19, 2025 pm 11:36 PM

Comment la solution de mise en cache Redis réalise-t-elle les exigences de la liste de classement des produits? Pendant le processus de développement, nous devons souvent faire face aux exigences des classements, comme l'affichage d'un ...

Que faire si le cache Redis échoue dans Spring Boot? Que faire si le cache Redis échoue dans Spring Boot? Apr 19, 2025 pm 08:03 PM

Dans Springboot, utilisez Redis pour mettre en cache l'objet OAuth2Authorisation. Dans l'application Springboot, utilisez SpringSecurityoAuth2AuthorizationsServer ...

Les meilleurs packs d'extension de Laravel recommandés: 2024 outils essentiels Les meilleurs packs d'extension de Laravel recommandés: 2024 outils essentiels Apr 30, 2025 pm 02:18 PM

Les packages d'extension Laravel essentiels pour 2024 incluent: 1. Laraveldebugbar, utilisé pour surveiller et déboguer le code; 2. Laraveltelescope, fournissant une surveillance détaillée des applications; 3. Laravelhorizon, gérant les tâches de file d'attente Redis. Ces packs d'extension peuvent améliorer l'efficacité du développement et les performances des applications.

Construction de l'environnement Laravel et configuration de base (Windows / Mac / Linux) Construction de l'environnement Laravel et configuration de base (Windows / Mac / Linux) Apr 30, 2025 pm 02:27 PM

Les étapes pour créer un environnement Laravel sur différents systèmes d'exploitation sont les suivantes: 1.Windows: Utilisez XAMPP pour installer PHP et compositeur, configurer les variables environnementales et installer Laravel. 2.MAC: Utilisez Homebrew pour installer PHP et Composer et installer Laravel. 3.Linux: utilisez Ubuntu pour mettre à jour le système, installer PHP et compositeur et installer Laravel. Les commandes et chemins spécifiques de chaque système sont différents, mais les étapes de base sont cohérentes pour assurer la construction fluide de l'environnement de développement de Laravel.

Rôle de Redis: Explorer les capacités de stockage et de gestion des données Rôle de Redis: Explorer les capacités de stockage et de gestion des données Apr 22, 2025 am 12:10 AM

Redis joue un rôle clé dans le stockage et la gestion des données, et est devenu le cœur des applications modernes à travers ses multiples structures de données et mécanismes de persistance. 1) Redis prend en charge les structures de données telles que les chaînes, les listes, les collections, les collections ordonnées et les tables de hachage, et convient au cache et à la logique métier complexe. 2) Grâce à deux méthodes de persistance, RDB et AOF, Redis assure un stockage fiable et une récupération rapide des données.

Dans un environnement multi-nœuds, comment s'assurer que la tâche de synchronisation @Scheduled de Spring Boot est exécutée uniquement sur un seul nœud? Dans un environnement multi-nœuds, comment s'assurer que la tâche de synchronisation @Scheduled de Spring Boot est exécutée uniquement sur un seul nœud? Apr 19, 2025 pm 10:57 PM

La solution d'optimisation pour les tâches de synchronisation Springboot dans un environnement multi-nœuds développe le ressort ...

Redis: Comprendre son architecture et son objectif Redis: Comprendre son architecture et son objectif Apr 26, 2025 am 12:11 AM

Redis est un système de stockage de structure de données de mémoire, principalement utilisé comme base de données, cache et courtier de messages. Ses caractéristiques principales incluent un modèle unique, un multiplexage d'E / S, un mécanisme de persistance, des fonctions de réplication et de clustering. Redis est couramment utilisé dans les applications pratiques pour la mise en cache, le stockage de session et les files d'attente de messages. Il peut améliorer considérablement ses performances en sélectionnant la bonne structure de données, en utilisant des pipelines et des transactions, et en surveillant et en réglage.

See all articles