Maison > Questions et réponses > le corps du texte
各位大神,这个是面试题啊,小弟是菜鸟,最好,用比较通俗的话说,最好不要直接 百度copy 其他人的,最好是自己处理总结过的,因为,本人已经百度了很多次了。
大家讲道理2017-04-24 09:15:02
est une base de données non relationnelle (NoSQL) écrite en C/C++ Les caractéristiques de redis :
Prend des données simples ou des tables de hachage indexées par clé, mais prend également en charge des opérations complexes telles que ZREVRANGEBYSCORE.
INCR & co (adapté au calcul de limites ou de statistiques)
Prend en charge les ensembles (prend également en charge union/diff/inter)
Liste de supports (prend également en charge la file d'attente ; blocage des opérations pop)
Prend en charge les tables de hachage (objets avec plusieurs champs)
Prise en charge des ensembles de tri (tableau des meilleurs scores, adapté aux requêtes de plage)
Redis prend en charge les transactions
Prend en charge la définition des données sur les données expirées (similaire à la conception de tampon rapide)
Pub/Sub permet aux utilisateurs de mettre en œuvre des mécanismes de messagerie
Quant à son utilité ou comment l'utiliser :
De manière générale, en termes de limitations, Redis existe également sous la forme d'une file d'attente de messages et d'une liste intégrée pour répondre aux exigences de forte concurrence en temps réel . Habituellement, dans un processus de traitement de données de type commerce électronique, les files d'attente de produits associés, les ventes chaudes et le tri recommandé sont généralement stockés dans Redis, et la lecture et la mise à jour de la liste Redis par Storm sont également incluses dans le processus.
Vous pouvez vous référer à cet article : Scénarios d'application Redis
黄舟2017-04-24 09:15:02
Redis est un stockage mémoire kv, qui est quelque peu similaire au memcache et peut souvent être interchangé. Généralement utilisé pour ajouter une couche de cache devant la base de données.
Par exemple, pour une simple table de membres, chaque requête peut devoir lire la table des membres. Les lectures fréquentes peuvent être mises en cache avec redis.
row=redis->get("m_"..id)
if not row then
sql="select * from members where id='"..id.."'";
row=sdo:fetch(sql);
redis->set("m_"..id,row);
end
C'est celui de base et le plus couramment utilisé.
Redis a également une file d'attente. Par exemple, si une requête consiste à enregistrer la demande d'opération de l'utilisateur, utilisez redis->lpush(op) pour rejoindre la file d'attente par la gauche. Un service d'arrière-plan peut lire à partir de la file d'attente Redis, op=redis->rpop(op), cela peut compléter une simple politique de premier arrivé, premier servi.
De plus, redis peut également être conservé, c'est-à-dire que les données kv en mémoire sont enregistrées sur le disque dur et peuvent être chargées à partir de la mémoire après une panne de courant.
Personnellement, je ne recommande pas d'utiliser la persistance Redis. Désactivez la persistance et utilisez-la simplement comme cache.