Heim >Web-Frontend >js-Tutorial >Praktische Projektfreigabe der Redis-Anwendung in NodeJS
Dieses Mal werde ich ein praktisches Projekt zur Verwendung von Redis in NodeJS vorstellen. Was sind die Vorsichtsmaßnahmen bei der Verwendung von Redis in NodeJS?
Redis ist eine In-Memory-Datenbank mit sehr guter Leistung. Sie wird als Cache-Datenbibliothek zwischen der Anwendung und MySQL-Daten bereitgestellt, was die Leistung der Anwendung erheblich verbessern kann ist eine kurze Einführung in den NodeJS-Client. Das Demoprogramm für den Terminalbetrieb von Redis
Redis kann insgesamt 5 Datentypen speichern, nämlich String , Liste, Satz, drei Spalten und geordneter Satz; Hier werden wir uns nacheinander mit den Hinzufügungen, Löschungen, Prüfungen und Änderungen dieser 5 Datentypen befassen:
https://redis.io/download, die aktuelle stabile Version, die ich verwende, ist 4.0.9. Geben Sie nach dem Dekomprimieren das Verzeichnis redis-4.0.9 ein, führen Sie make && sudo make install aus und warten Sie ein paar Minuten, um es zu installieren; 2, Redis-Start:
Führen Sie Redis-Server zum Starten aus, der Standardport ist 6379 nodejs-Client:
Erstellen Sie das Verzeichnis „redis-node“. Führen Sie nach „garn init -y“ in diesem Verzeichnis den Befehl „garn add redis“ aus, um den Redis-Client von „nodejs“ zu installieren: https://github.com /NodeRedis/node_redis
4. Führen Sie im Knotenverzeichnis „node“ auf dem Terminal aus, und Sie können den NodeJS-Code zum Testen reaktionsschnell ausführen > Erstellen Sie zunächst einen Client und stellen Sie eine Verbindung zum Redis-Server her. Stellen Sie vor dem Ausführen des Client-Codes sicher, dass der Redis-Server ausgeführt wird. Der Standardport ist 6379
Wenn alles gut geht, haben wir einen Client erstellt, um eine Verbindung zum Redis-Server herzustellen. Nachfolgende Vorgänge werden am Client-Objekt ausgeführt.1. String-Typ
Obwohl es sich um einen String-Typ handelt, können unter anderem Strings, ganze Zahlen und Gleitkommazahlen gespeichert werden.const redis = require('redis'); const client = redis.createClient(); //默认连接localhost:6379,具体配置参数可以参考文档https://github.com/NodeRedis/node_redisDer Einfachheit halber definieren wir eine
Callback-Funktion zur Ausgabe von Daten:
var res = client.set('name', 'abczhijia', (err, data) => { console.log('err: ', err, ' data: ', data); }); // err: null data: OK,res的值是true client.get('name', (err, data) => { console.log('err: ', err, ' data: ', data); }); // err: null data: abczhijiaMachen wir einen Test für ganze Zahlen:
const cb = (err, data) => { console.log('err: ', err, ' data: ', data, ' data type: ', typeof data); }It Es ist ersichtlich, dass die Einstellung zwar eine Ganzzahl ist, bei der Ausgabe jedoch tatsächlich eine Zeichenfolge ist. Wenn Sie also Berechnungen durchführen möchten, müssen Sie die Konvertierung in der Rückruffunktion selbst durchführen
client.set('age', 20, cb); //err: null data: OK data type: string client.get('age', cb); //err: null data: 20 data type: stringBeachten Sie hier, dass die Listenoperation einen oder mehrere Daten vom rechten rpush oder zusätzlich einen oder mehrere Daten vom linken lpush pushen kann; Sie müssen die Start- und Endposition angeben. Wenn Sie die gesamte Position erhalten möchten, können Sie die Endposition als -1 schreiben.
3. Sammlungsdatentyp
//从右侧推入 client.rpush('friends', 'mike', 'jhon', cb); //err: null data: 2 data type: number client.lrange('friends', 0, -1, cb); //err: null data: [ 'mike', 'jhon' ] data type: object //从左侧推入 client.lpush('friends', 'sam', 'bob', cb); //err: null data: 4 data type: number client.lrange('friends', 0, -1, cb); // err: null data: [ 'bob', 'sam', 'mike', 'jhon' ] data type: object //从右侧弹出 client.rpop('friends', cb); //err: null data: jhon data type: string //从左侧弹出 client.lpop('friends', cb); //err: null data: bob data type: string //打印看看发生了啥 client.lrange('friends', 0, -1, cb); // err: null data: [ 'sam', 'mike' ] data type: object //查看索引位置的值 client.lindex('friends', 0, cb); // err: null data: sam data type: string //对列表进行裁剪 client.rpush('friends', 'tom', 'bryant', cb)// err: null data: 4 data type: number client.ltrim('friends', 1, 2, cb); //err: null data: OK data type: string client.lrange('friends', 0, -1, cb); //err: null data: [ 'mike', 'tom' ] data type: object
4. Hash-Datentyp
//往集合ids中加几个元素 client.sadd('ids', 1, 2, cb); //err: null data: 2 data type: number //查看集合元素 client.smembers('ids', cb); //err: null data: [ '1', '2' ] data type: object //从集合中删除元素 client.srem('ids', 2, cb); // err: null data: 1 data type: number //看看发生了啥 client.smembers('ids', cb); //err: null data: [ '1' ] data type: object //看看集合有多少个元素 client.scard('ids', cb); //err: null data: 1 data type: number //再加几个元素进去 client.sadd('ids', 3, 5, 8, 9); // //判断元素是否在集合内 client.sismember('ids', 8, cb); // err: null data: 1 data type: number client.sismember('ids', 80, cb); //err: null data: 0 data type: numberIch glaube, Sie haben den Fall gelesen Dieser Artikel Nachdem Sie die Methode beherrscht haben, achten Sie bitte auf andere verwandte Artikel auf der chinesischen PHP-Website, um weitere spannende Inhalte zu erhalten! Empfohlene Lektüre:
So verwenden Sie das Laden von Vue SSR-Komponenten
Vue.js interne Listener-AnwendungsfallanalyseDas obige ist der detaillierte Inhalt vonPraktische Projektfreigabe der Redis-Anwendung in NodeJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!