- vừa được xem lúc

RedisJson Cơ Bản

0 0 2

Người đăng: Linh Lan

Theo Viblo Asia

Giới thiệu

RedisJSON là một module của Redis hỗ trợ cấu trúc JSON. RedisJSON cho phép lưu trữ, cập nhật, truy xuất giá trị JSON trong cơ sơ dữ liệu Redis như bất gì kiểu dữ liệu khác trong Redis Dữ liệu được lưu trữ dưới dạng nhị phân trong cấu trúc cây, cho phép truy cập nhanh vào các phần tử con

Các trường hợp nên dùng RedisJSON

Thông thường bạn có thể lưu 1 cấu trúc JSON vào Redis bằng các chuyển nó thành string và lưu vào Redis Nhưng khi sư dụng RedisJSON thì nó sẽ có 1 số lợi thế:

  • Truy cập/ truy xuất các giá trị con (subvalues) : Bạn có thể thêm, xoá, cập nhật, truy xuất 1 giá trị con của object JSON chứ ko phải là toàn bộ object
  • Index và query : RedisJson hoạt động cùng với RedisSearch, cho phép index và query dữ liệu JSON

Thực hành

Cài đặt môi trường

# Sử dụng image Docker redis stack để thực hành với RedisJSON
docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:latest # Truy cập vào stack server
docker exec redis-stack-server bash # Bật redis cli lên. Nếu không tìm thấy redis-cli thì install redis vào: MAC-OS: brew install redis redis-cli 

Thực hiện

# Insert JSON.SET vendor:1 . '{"name":"Nguyen Van A","phone":333789741,"menu":[{"name":"Torta","price":4.5}]}'
# -> OK # Modify : thêm field mới vào Json Object
JSON.SET vendor:1 .location '{"address":"145 cach mang thang 8, quan tan binh, HCM ","coordinates":[10.495804986,10.57408548]}' #Modify : Thay đổi giả trị của filed
JSON.SET vendor:1 .location.address "\"145 cach mang thang 8, phuong 5, quan tan binh, HCM \"" #Get: lấy lên toàn bộ json object
JSON.GET vendor:1
# -> "{\"name\":\"Nguyen Van A\",\"phone\":333789741,\"menu\":[{\"name\":\"Torta\",\"price\":4.5}],\"location\":{\"address\":\"145 cach mang thang 8, phuong 5, quan tan binh, HCM \",\"coordinates\":[10.495804986,10.57408548]}}" #Get: lấy lên 1 giá trị của array
JSON.GET vendor:1 .menu[0]
#-> "{\"name\":\"Torta\",\"price\":4.5}"
JSON.GET vendor:1 .menu[0].price
# -> "4.5" #Modify: Thêm một đối tượng vào array
JSON.ARRAPPEND vendor:1 .menu '{"name":"Burrito","price":11.5}'
# -> (integer) 2

Tiếp theo mình sẽ cập nhật kết hợp giữa RedisJSON và Redis Search .....

Bình luận

Bài viết tương tự

- vừa được xem lúc

Caching đại pháp 2: Cache thế nào cho hợp lý?

Caching rất dễ. Mình không nói đùa đâu, caching rất là dễ. Ai cũng có thể làm được chỉ sau 10 phút đọc tutorial. Nó cũng giống như việc đứa trẻ lên 3 đã có thể cầm bút để vẽ vậy.

0 0 114

- vừa được xem lúc

Caching đại pháp 1: Nấc thang lên level của developer

Bí quyết thành công trong việc đáp ứng hệ thống triệu user của những công ty lớn (và cả công ty nhỏ). Tại sao caching lại là kỹ thuật tối quan trọng để phù phép ứng dụng rùa bò của chúng ta thành siêu phẩm vạn người mê.

0 0 67

- vừa được xem lúc

Cache dữ liệu Nodejs với Redis

Một tí gọi là lý thuyết để anh em tham khảo. Cache là gì. Lợi ích của việc cache data. .

0 0 97

- vừa được xem lúc

Nguyên tắc hoạt động của redis server

Sự ra đời của Redis. . Câu chuyện bắt đầu khi tác giả của Redis, Salvatore Sanfilippo. (nickname: antirez), cố gắng làm những công việc gần như là không.

0 0 81

- vừa được xem lúc

Viết ứng dụng chat realtime với Laravel, VueJS, Redis và Socket.IO, Laravel Echo

Xin chào tất cả các bạn, đây là một trong những bài post đầu tiên của mình. Sau bao năm toàn đi đọc các blog tích luỹ được chút kiến thức của các cao nhân trên mạng.

0 0 905

- vừa được xem lúc

Tìm hiểu tổng quan về Redis

1. Lời mở đầu.

0 0 352