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
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

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

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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 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 ...

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

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.

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.

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.

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

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.
