Heim > Web-Frontend > js-Tutorial > Eine einfache Möglichkeit, die Redis-Datenbank in Node.js application_node.js zu lesen und zu schreiben

Eine einfache Möglichkeit, die Redis-Datenbank in Node.js application_node.js zu lesen und zu schreiben

WBOY
Freigeben: 2016-05-16 15:52:19
Original
2336 Leute haben es durchsucht

Bevor Sie mit diesem Artikel beginnen, stellen Sie bitte sicher, dass Sie Redis und Node.js sowie die Redis-Erweiterung für Node.js installieren – node_redis

Erstellen Sie zunächst einen neuen Ordner und eine neue Textdatei app.js. Der Inhalt der Datei lautet wie folgt:

var redis = require("redis")
  , client = redis.createClient();
 
client.on("error", function (err) {
  console.log("Error " + err);
});
 
client.on("connect", runSample);
 
function runSample() {
  // Set a value
  client.set("string key", "Hello World", function (err, reply) {
    console.log(reply.toString());
  });
  // Get a value
  client.get("string key", function (err, reply) {
    console.log(reply.toString());
  });
}
Nach dem Login kopieren

Bei Verbindung mit Redis wird die runSample-Funktion aufgerufen und ein Wert festgelegt. Anschließend wird der Wert gelesen. Die Ergebnisse der Operation sind wie folgt:

OK
Hello World
Nach dem Login kopieren

Wir können auch den EXPIRE-Befehl verwenden, um die Ablaufzeit des Objekts festzulegen. Der Code lautet wie folgt:

var redis = require('redis')
  , client = redis.createClient();
 
client.on('error', function (err) {
  console.log('Error ' + err);
});
 
client.on('connect', runSample);
 
function runSample() {
  // Set a value with an expiration
  client.set('string key', 'Hello World', redis.print);
  // Expire in 3 seconds
  client.expire('string key', 3);
 
  // This timer is only to demo the TTL
  // Runs every second until the timeout
  // occurs on the value
  var myTimer = setInterval(function() {
    client.get('string key', function (err, reply) {
      if(reply) {
        console.log('I live: ' + reply.toString());
      } else {
        clearTimeout(myTimer);
        console.log('I expired');
        client.quit();
      }
    });
  }, 1000);
}
Nach dem Login kopieren

Hinweis: Der oben verwendete Timer dient nur zur Demonstration des EXPIRE-Befehls. Sie müssen Timer in Node.js-Projekten mit Vorsicht verwenden.

Die Ausgabe des obigen Programms ist:


Reply: OK
I live: Hello World
I live: Hello World
I live: Hello World
I expired
Nach dem Login kopieren

Als nächstes prüfen wir, wie lange ein Wert bestehen bleibt, bevor er abläuft:

var redis = require('redis')
  , client = redis.createClient();
 
client.on('error', function (err) {
  console.log('Error ' + err);
});
 
client.on('connect', runSample);
 
function runSample() {
  // Set a value
  client.set('string key', 'Hello World', redis.print);
  // Expire in 3 seconds
  client.expire('string key', 3);
 
  // This timer is only to demo the TTL
  // Runs every second until the timeout
  // occurs on the value
  var myTimer = setInterval(function() {
    client.get('string key', function (err, reply) {
      if(reply) {
        console.log('I live: ' + reply.toString());
        client.ttl('string key', writeTTL);
      } else {
        clearTimeout(myTimer);
        console.log('I expired');
        client.quit();
      }
    });
  }, 1000);
}
 
function writeTTL(err, data) {
  console.log('I live for this long yet: ' + data);
}
Nach dem Login kopieren

Laufergebnis:

Reply: OK
I live: Hello World
I live for this long yet: 2
I live: Hello World
I live for this long yet: 1
I live: Hello World
I live for this long yet: 0
I expired
Nach dem Login kopieren


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage