Maison > développement back-end > Problème PHP > php redis à toute heure définie

php redis à toute heure définie

coldplay.xixi
Libérer: 2023-03-06 14:08:02
original
2429 Les gens l'ont consulté

Comment définir l'heure dans PHP redis : 1. Annulez le temps de survie et définissez le temps de survie de la clé sur permanent, qui est PERSIST. Le code est [PERSIST session:captcha] ; temps de survie d'une commande, le code est [session TTL: captcha].

php redis à toute heure définie

Comment définir l'heure dans php redis :

Redis fournit un temps de survie pour les clés, lorsque le temps de survie est non spécifié, la durée de survie est éternelle. Redis supprimera automatiquement cette clé une fois le délai écoulé. Vous pouvez utiliser la commande EXPIRE. L'unité de temps est la seconde. Si une touche est configurée pour avoir un temps de survie limité, elle redeviendra permanente lorsque la touche SET sera réaffectée :

SET session:captcha sd2a
EXPIRE session:captcha 600
Copier après la connexion

Annuler le temps de survie. et change La durée de vie de la clé est définie sur permanente, ce qui est PERSIST :

PERSIST session:captcha
Copier après la connexion

Utilisez la commande TTL pour vérifier la durée de vie d'une clé -1 signifie permanente ou supprimée après expiration.

TTL session:captcha
Copier après la connexion

Le temps de survie ne sera pas modifié pendant les commandes INCR, LPUSH, HSET, ZREM et autres de Redis.

Si vous souhaitez contrôler l'heure avec précision au millimètre près, vous avez besoin de PEXPIRE et utilisez PTTL pour vérifier le temps restant.

Et si vous souhaitez donner un délai d'expiration au lieu du nombre de secondes d'expiration ? Vous avez besoin d'EXPIREAT et de PEXPIREAT. Le paramètre de EXPIREAT est l'horodatage d'expiration (secondes), et le paramètre de PEXPIREAT est le délai d'expiration de l'horodatage (millisecondes)

SET session:captcha sd2a
EXPIREAT session:captcha 1399902009
PEXPIREAT session:captcha 1399902009000
Copier après la connexion

Scénario d'application 1 : Limite de fréquence d'accès : Nous limitons chaque utilisateur à 1 minute seulement Peut parcourir 10 pages. Le pseudo-code est le suivant :

$isExists = EXISTS limit:user1:192.168.1.2
if($isExists){
    $num = INCR limit:user1:192.168.1.2
    if($num > 10){
        print '超过限制'
        exit
    }
}else{
    MULTI
    INCR limit:user1:192.168.1.2
    EXPIRE limit:user1:192.168.1.2 60
    EXEC
}
Copier après la connexion

La raison pour laquelle nous utilisons des transactions est qu'après avoir exécuté INCR limit:user1:192.168.1.2, avant d'exécuter EXPIRE limit:user1:192.168.1.2 60, le client est ajouté Fermé. Ensuite, la clé et la valeur seront conservées. Et cet identifiant n’est accessible que 10 fois dans une vie. C'est dommage.

Si vous souhaitez en savoir plus sur la programmation, faites attention à la rubrique Formation php !

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:php.cn
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