Heim > Web-Frontend > js-Tutorial > Praktische Projektfreigabe der Redis-Anwendung in NodeJS

Praktische Projektfreigabe der Redis-Anwendung in NodeJS

php中世界最好的语言
Freigeben: 2018-06-01 11:52:07
Original
1495 Leute haben es durchsucht

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_redis
Nach dem Login kopieren
Der 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: abczhijia
Nach dem Login kopieren
Machen wir einen Test für ganze Zahlen:

const cb = (err, data) => {
 console.log('err: ', err, ' data: ', data, ' data type: ', typeof data);
}
Nach dem Login kopieren
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

2. Listendatentyp

client.set('age', 20, cb); //err: null data: OK data type: string
client.get('age', cb); //err: null data: 20 data type: string
Nach dem Login kopieren
Beachten 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
Nach dem Login kopieren

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: number
Nach dem Login kopieren
Ich 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-Anwendungsfallanalyse

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

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