Redis đường ống nodejs

Nút. js đã trở nên cực kỳ phổ biến cho cả phát triển ứng dụng web và di động. Nút. js có thể được cài đặt trên các hệ thống MacOS, Linux và Windows. Trình quản lý gói nút (npm) cho phép các nhà phát triển cài đặt các gói đã được thử và kiểm tra các thư viện giúp bạn xây dựng ứng dụng một cách nhanh chóng

Nút. js có thời gian chạy nhanh, nhưng việc bổ sung thêm sức mạnh, tốc độ và tính linh hoạt của Redis có thể đưa nó lên một tầm cao mới. Redis phù hợp nhất với các tình huống yêu cầu dữ liệu được truy xuất và gửi đến khách hàng càng nhanh càng tốt

RedisJSON là một mô-đun bổ trợ bổ sung JSON làm kiểu dữ liệu gốc cho Redis. Nó cho phép các hoạt động nguyên tử, tại chỗ được thực hiện trên các tài liệu JSON được lưu trữ trong Redis

Chúng ta sẽ sử dụng ứng dụng khách node-redis để kết nối với Redis và tận dụng sức mạnh của RedisJSON

Bước 1. Chạy Redis Stack Docker Container

Hình ảnh vùng chứa đơn giản này kết hợp các bản phát hành ổn định mới nhất của Redis và các mô-đun Redis chọn lọc từ Redis, Inc

$ docker run -d -p 6379:6379 redis/redis-stack:latest

Bước 2. Cài đặt nút. js

Tải xuống và cài đặt phiên bản LTS (Hỗ trợ dài hạn) hiện tại của Node. js từ nodejs. trang web tổ chức

Bước 3. Khởi tạo một dự án npm

Chạy npm init để khởi tạo một dự án mới. Sử dụng câu trả lời mặc định cho tất cả các câu hỏi

$ mkdir jsondemo
$ cd jsondemo
$ npm init

Bây giờ chỉnh sửa package.json và thêm dòng

$ mkdir jsondemo
$ cd jsondemo
$ npm init
0. Các tập tin sẽ trông giống như thế này

{
"name": "jsondemo",
"type": "module",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}

Bước 4. Cài đặt nút-redis

node-redis là một Node hiệu suất cao. js Redis client với sự hỗ trợ cho mô-đun RedisJSON. Cài đặt nó bằng cách sử dụng

$ mkdir jsondemo
$ cd jsondemo
$ npm init
1

$ npm install redis

Bước 5. Tạo một tệp JavaScript

Sao chép mã bên dưới vào một tệp có tên

$ mkdir jsondemo
$ cd jsondemo
$ npm init
2

import { createClient } from 'redis';

async function redisJSONDemo() {
try {
const TEST_KEY = 'test_node';

const client = createClient();
await client.connect();

// RedisJSON uses JSON Path syntax. '.' is the root.
await client.json.set(TEST_KEY, '.', { node: 4303 });
const value = await client.json.get(TEST_KEY, {
// JSON Path: .node = the element called 'node' at root level.
path: '.node',
});

console.log(`value of node: ${value}`);

await client.quit();
} catch (e) {
console.error(e);
}
}

redisJSONDemo();

Bước 6. Chạy ứng dụng

Khởi động ứng dụng như sau

________số 8_______

Bạn sẽ thấy đầu ra này

value of node: 4303

Sử dụng lệnh Redis

$ mkdir jsondemo
$ cd jsondemo
$ npm init
3, bạn có thể thấy các lệnh Redis mà nút-redis đã gửi đến máy chủ Redis trong khi chạy ứng dụng

Redis pipelining là gì?

Redis pipelining là một kỹ thuật để cải thiện hiệu suất bằng cách đưa ra nhiều lệnh cùng một lúc mà không cần đợi phản hồi cho từng lệnh riêng lẻ . Pipelining được hỗ trợ bởi hầu hết các máy khách Redis. Tài liệu này mô tả vấn đề mà đường ống được thiết kế để giải quyết và cách đường ống hoạt động trong Redis.

Redis tích hợp với nút js như thế nào?

Bộ nhớ đệm với Redis. Nút. .
thông tin dự án. .
Điều kiện tiên quyết. .
Cài đặt Redis trên máy của bạn. .
Tạo một thư mục mới mkdir redis-cache
Điều hướng đến thư mục mới cd redis-cache
Tạo một gói. tệp json npm init --force. .
Tạo một máy chủ. tập tin js. .
Cài đặt các mô-đun npm install --save axios express redis response-time

Đường dẫn Redis có phải là Atomic không?

Tính nguyên tử của đường ống dẫn . Điều này có nghĩa là Redis không dừng bất kỳ lệnh nào giữa chừng trong quá trình thực thi của nó để thực thi lệnh khác. Mỗi lệnh riêng lẻ được bắt đầu sẽ kết thúc mà không xen kẽ với các lệnh khác. all commands in Redis are atomic, executed individually. This means that Redis doesn't stop any command half-way through its execution to execute another command. Every individual command that is started is finished without interleaving with other commands.

Làm cách nào để lấy dữ liệu từ Redis NodeJS?

Tạo phiên mới. js trong thư mục gốc với nội dung sau. const express = require('express'); . tạoClient();