Sử dụng Redis với Docker và NodeJS / Express

https://unsplash.com/photos/EaB4Ml7C7fE?utm_source=unsplash&utm_medium=referral&utm_content=creditShareLink

Trong bài viết này, tôi sẽ Walkthrough các bước để cài đặt REDIS sử dụng Docker trên máy tính và truy cập địa phương của bạn các dịch vụ chứa Docker trong chạy cục bộ nút / expressJS ứng dụng.

Yêu cầu trước

Tôi giả định rằng bạn có thiết lập cơ bản trên máy cục bộ của mình như Node Package Manager, Docker và hiểu rõ về Javascript , NodeJS , Express , REDIS và Docker .

Hãy bắt đầu nào

Tôi sẽ bắt đầu với cấu trúc để cài đặt REDIS bằng docker và sau đó chuyển sang việc sử dụng trong môi trường nhà phát triển cục bộ.

Cài đặt REDIS bằng DOCKER

Để thực hiện bước này, hãy kích hoạt thiết bị đầu cuối của bạn và thực hiện lệnh sau.

docker run -d --name <CONTAINER_NAME> -p 127.0.0.1:6379:6379 redis

  • d - chạy vùng chứa ở chế độ tách rời
  • - name <CONATINER_NAME> - Gán tên cho vùng chứa.
  • p - ánh xạ cổng cũng như IP tới máy cục bộ. Đây là điểm bắt buộc ở đây để kích hoạt các dịch vụ cục bộ. Nếu bạn tạo hình ảnh mà không có ánh xạ cục bộ, thì bạn sẽ không thể truy cập thông tin này. 6379 là cổng mặc định cho REDIS .
  • redis - Tên của hình ảnh sẽ được tải xuống.
  • docker ps -a
    

    docker exec -it <CONTAINER_NAME|ID> sh
    

# redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set customer_name "John Doe"
OK
127.0.0.1:6379> get customer_name
"John Doe"
127.0.0.1:6379> del customer_name
(integer) 1
127.0.0.1:6379> exit
# exit

Như tất cả chúng ta đã thiết lập với cài đặt REDIS, hãy tiếp tục để tạo một ứng dụng ExpressJS nhỏ.

Đi tới thiết bị đầu cuối của bạn và thực hiện các lệnh sau

npm init

npm i -P express
npm i -D nodemon

Mở tệp package.json trong trình chỉnh sửa bạn chọn và thêm lệnh sau vào phần tập lệnh.

"dev": "nodemon server"

const express = require('express');
const PORT = 5001;
const app = express();
const router = express.Router();
app.use(express.json());
router.get('/', (req,res) => {
    res.status(200).json({
        message : "Sample Docker Redis Application"
    });
});
app.listen(PORT, () => {
    console.log(`Server running on PORT ${PORT}`);
});

Tiếp theo, khởi động máy chủ.

npm run dev

HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 45
ETag: W/"2d-bO6czhAp6+qsrxSQWqx38pGjRvo"
Date: Thu, 15 Apr 2021 18:14:24 GMT
Connection: keep-alive
Keep-Alive: timeout=5
{"message":"Sample Docker Redis Application"}

Để truy cập REDIS, chúng tôi cần quyền truy cập vào ứng dụng REDIS trong ứng dụng của chúng tôi.

Đi tới thiết bị đầu cuối của bạn -> Thư mục gốc ứng dụng

npm i -P redis

Mở tệp erver.js / index.js (main) trong trình chỉnh sửa và thực hiện các thay đổi đối với quyền truy cập cho phép.

const redis = require('redis');
const redisClient = redis.createClient(6379,'127.0.0.1');
redisClient.on('error', (err) => {
    console.log('Error occured while connecting or accessing redis server');
});
if(!redisClient.get('customer_name',redis.print)) {
    //create a new record
    redisClient.set('customer_name','John Doe', redis.print);
    console.log('Writing Property : customer_name');
} else {
    let val = redisClient.get('customer_name',redis.print);
    console.log(`Reading property : customer_name - ${val}`);
}

[nodemon] starting `node server.js`
Writing Property : customer_name
Server running on PORT 5001
Reply: null
Reply: OK

[nodemon] restarting due to changes...
[nodemon] starting `node server.js`
Writing Property : customer_name
Server running on PORT 5001
Reply: John Doe
Reply: OK

Được rồi, thế là xong. Tất cả chúng ta đều sẵn sàng truy cập REDIS trong ứng dụng địa phương của chúng ta. Bây giờ kết thúc bài viết này.

Nếu bạn thích bài viết, đừng ngại chia sẻ.

Truy cập vào mã mẫu @https://github.com/cmgabriel/docker_redis_express

Cảm ơn bạn đã dành thời gian đọc và Chúc bạn viết mã vui vẻ

Suggested posts

Câu hỏi phỏng vấn Node JS (Từ cơ bản đến nâng cao) Phần 5

Câu hỏi phỏng vấn Node JS (Từ cơ bản đến nâng cao) Phần 5

Hôm nay tôi sẽ tiếp tục Chuỗi câu hỏi phỏng vấn Node JS. Loạt bài này sẽ dựa trên 5 phần bao gồm các câu hỏi quan trọng được hỏi trong các cuộc phỏng vấn từ Cơ bản đến Nâng cao Trước khi bắt đầu.

DevOps-1: Dockerize Ứng dụng Golang của bạn với cơ sở dữ liệu PostgreSQL.

DevOps-1: Dockerize Ứng dụng Golang của bạn với cơ sở dữ liệu PostgreSQL.

Trong bài viết này, chúng tôi sẽ cố gắng neo một ứng dụng CRUD golang đơn giản với cơ sở dữ liệu postgreSQL. Trước tiên hãy tạo ứng dụng của chúng ta.

Related posts

Cuộc trò chuyện nguy hiểm

Cuộc trò chuyện nguy hiểm

Nếu chúng ta muốn tiếp tục phát triển trên hành tinh này, chúng ta sẽ phải có những cuộc đối thoại nguy hiểm. Những thứ thách thức những gì chúng ta đã làm, những gì chúng ta đang làm và những gì chúng ta hiện đang chuẩn bị tiếp tục làm (hoặc đang có kế hoạch làm).

Theo Dõi Bất Cứ Ai Chỉ Bằng Số Điện Thoại | Điều tra OSINT

Theo Dõi Bất Cứ Ai Chỉ Bằng Số Điện Thoại | Điều tra OSINT

Bạn có thể là Điều tra viên OSINT, Người chơi CTF hoặc đơn giản là người nhận được các cuộc gọi spam. Ai đó đang cố xác minh số bạn đã thấy trong quảng cáo.

Cuộc đàn áp các Kitô hữu: Tội ác thù hận mà chúng ta không nói đến

Quên bài Hồi giáo đi: Cơ đốc nhân (và người Do Thái) là nạn nhân chính của tội ác căm thù tôn giáo.

Cuộc đàn áp các Kitô hữu: Tội ác thù hận mà chúng ta không nói đến

Bất kỳ lý trí nào cũng biết rằng giới chính trị và truyền thông bị chi phối bởi cánh tả, thậm chí là cực tả, một tình trạng tạo ra sự mất cân bằng trong diễn ngôn chính trị. Trong lĩnh vực tôn giáo, sự mất cân bằng này có thể thấy rõ ràng: các tờ báo và mạng lưới cánh tả không vội vàng bảo vệ đức tin Cơ đốc.

Mạng truyền hình Twitter

Mạng truyền hình Twitter

Cái cũ giờ lại mới và cái từng lấp lánh sáng bóng giờ trở nên buồn tẻ. Tôi không nói về việc quần jean JNCO đang trở lại trong giới trẻ sành điệu ở trung tâm thành phố cùng với các mốt cuối thập niên 1990 khác.