[Redis] – Redis set

Tạo và quản lý set Set là kiểu dữ liệu key/value thông thường lưu trữ dữ liệu kiểu chuỗi. Các key của kiểu dữ liệu set chỉ có thể giữ một giá trị, giá trị này có thể là bất kỳ loại dữ liệu nào, từ các ký tự chữ và số đến hình ảnh

Tạo và quản lý set

Set là kiểu dữ liệu key/value thông thường lưu trữ dữ liệu kiểu chuỗi. Các key của kiểu dữ liệu set chỉ có thể giữ một giá trị, giá trị này có thể là bất kỳ loại dữ liệu nào, từ các ký tự chữ và số đến hình ảnh JPEG. Các giá trị đó trong Redis được lưu dưới dạng binary an toàn. Giới hạn duy nhất là các giá trị đó phải nhỏ hơn 512 MB.

Để tạo một chuỗi ta sử dụng lệnh set. Ví dụ: lệnh set sau tạo một key có tên key_Welcome1 chứa chuỗi “Howdy” :

> set key_Welcome1 "Howdy" 
Output
OK 

Để tạo nhiều chuỗi trong một lệnh ta sử dụng mset:

> mset key_Welcome2 "there" key_Welcome3 "partners," 

Chúng ta cũng có thể sử dụng lệnh append để tạo một chuỗi giá trị:

> append key_Welcome4 "welcome to Texas" 
Output
(integer) 16 

Nếu giá trị được tạo thành công, append sẽ trả về một số nguyên bằng số ký tự của chuỗi giá trị.

Lưu ý append cũng được dùng để thay đổi nội dung của chuỗi giá trị. Xem phần thao tác trên chuỗi để biết chi tiết về điều này.

Truy xuất chuỗi

Để truy xuất một chuỗi ta sử dụng lệnh get :

> get key_Welcome1 
Output
"Howdy" 

Để truy xuất nhiều chuỗi bằng một lệnh ta sử dụng mget:

> mget key_Welcome1 key_Welcome2 key_Welcome3 key_Welcome4 
Output
1) "Howdy" 2) "there" 3) "partners," 4) "welcome to Texas" 

Đối với các key được truyền vào lệnh mget không chứa giá trị chuỗi hoặc hoàn toàn không tồn tại, lệnh sẽ trả về nil.

Thao tác chuỗi

Nếu một chuỗi được tạo thành từ một số nguyên, chúng ta có thể chạy lệnh incr để tăng nó lên một:

> set key_1 3 
> incr key_1 
Output
(integer) 4 

Tương tự, chúng ta có thể sử dụng lệnh incrby để tăng giá trị của một chuỗi số theo một mức tăng cụ thể:

> incrby key_1 16 
Output
(integer) 20 

Lệnh decrdecrby hoạt động theo cùng một cách, nhưng chúng làm giảm số nguyên được lưu trữ trong một chuỗi số:

> decr key_1 
Output
(integer) 19 
> decrby key_1 16 
Output
(integer) 3 

Nếu một chuỗi đã tồn tại, append sẽ nối giá trị vào cuối giá trị hiện có và trả về độ dài mới của chuỗi. Để minh họa, lệnh sau nối chuỗi “, y’all” vào chuỗi được giữ bởi key key_Welcome4 , vì vậy bây giờ chuỗi sẽ có nội dung “welcome to Texas, y’all” :

> append key_Welcome4 ", y'all" 
Output
(integer) 15 

Chúng ta cũng có thể nối các số nguyên vào một chuỗi chứa một giá trị số. Ví dụ sau nối 45 với chuỗi giá trị hiện tại là 3 (số nguyên được giữ trong key_1) , vì vậy giá trị mới nó sẽ giữ là 345 . Trong trường hợp này, append cũng sẽ trả về độ dài mới của chuỗi, thay vì giá trị mới của nó:

> append key_1 45 
Output
(integer) 3 

Vì key này vẫn chỉ giữ một giá trị số nên chúng ta có thể thực hiện các phép toán incrdecr trên nó. Chúng ta cũng có thể nối các ký tự chữ cái vào một chuỗi số nguyên, nhưng nếu chúng ta làm điều này thì việc chạy incr và decr trên chuỗi sẽ tạo ra lỗi vì giá trị chuỗi không còn là số nguyên.

Nguồn:

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ