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

[Redis] - Redis hash

0 0 20

Người đăng: TheLight

Theo Viblo Asia

Tạo hash

Để tạo hash ta dùng lệnh hset . Lệnh này chấp nhận tên của key ( tên hàm băm), field và value . Cú pháp:

HSET key field value
> hset poet:Verlaine nationality French Output
(integer) 1 

Lưu ý: Trong ví dụ này và những ví dụ sau, poet:Verlaine là key. Dấu chấm, dấu gạch ngang và dấu hai chấm thường được sử dụng để phân tách trong tên key mà chứa nhiều từ để dễ đọc hơn. Sẽ hữu ích khi đảm bảo các key của chúng ta tuân theo một định dạng nhất quán và dễ đọc.

hset trả về (integer) 1 nếu key được chỉ định là key mới và giá trị được đặt hợp lệ.

Ngoài ra, lưu ý hset sẽ overrides value của field nếu nó đã tồn tại:

> hset poet:Verlaine nationality Francais Output
(integer) 0 

Nếu field đã tồn tại và giá trị của nó được cập nhật thành công, hset sẽ trả về (integer) 0 :

chúng ta cũng có thể sử dụng hsetnx để thêm field vào hàm băm, nhưng nó sẽ chỉ hoạt động nếu field chưa tồn tại. Nếu field được chỉ định đã tồn tại, thì hsetnx sẽ không có bất kỳ ảnh hưởng nào và sẽ trả về (integer) 0 :

> hsetnx poet:Verlaine nationality French Output
(integer) 0 

Để đặt nhiều cặp field/value cho một tập hợp nhất định, hãy sử dụng lệnh hmset theo sau là chuỗi field/value tương ứng:

> hmset poet:Verlaine born 1844 died 1896 genre Decadent 

hmset sẽ chỉ trả về OK nếu nó thành công.

Lấy thông tin từ Hashes

chúng ta có thể xác định xem field có tồn tại cho một hàm băm nhất định hay không bằng lệnh hexists :

> hexists poet:Verlaine nationality 

hexists sẽ trả về (integer) 1 nếu field tồn tại và (integer) 0 nếu field không tồn tại.

Để trả về giá trị của một field, hãy chạy lệnh hget theo sau là key và field chúng ta muốn truy xuất:

> hget poet:Verlaine nationality Output
"Francais" 

hmget sử dụng cùng một cú pháp, nhưng có thể trả về giá trị của nhiều field

> hmget poet:Verlaine born died Output
1) "1844" 2) "1896" 

Nếu field chúng ta truyền cho hget hoặc hmget không tồn tại, cả hai lệnh sẽ trả về (nil) :

> hmget poet:Dickinson born died Output
1) (nil) 2) (nil) 

Để có được danh sách tất cả các field được giữ trong một key nhất định, hãy chạy lệnh hkeys :

> hkeys poet:Verlaine Output
1) "nationality" 2) "born" 3) "died" 4) "genre" 

Ngược lại, chạy lệnh hvals để truy xuất danh sách các giá trị được giữ trong một key (hàm băm):

> hvals poet:Verlaine Output
1) "French" 2) "1844" 3) "1896" 4) "Decadent" 

Để trả về danh sách tất cả field/value được nắm giữ bởi một key (hàm băm) hãy chạy hgetall :

> hgetall poet:Verlaine Output
1) "nationality" 2) "French" 3) "born" 4) "1844" 5) "died" 6) "1896" 7) "genre" 8) "Decadent" 

chúng ta có thể tìm số field trong một hàm băm bằng cách chạy hlen , viết tắt của hash length:

> hlen poet:Verlaine Output
(integer) 4 

chúng ta có thể tìm độ dài của chuỗi giá trị được liên kết với một field bằng hstrlen , viết tắt của hash string length:

> hstrlen poet:Verlaine nationality Output
(integer) 8 

hlen sẽ trả về (integer) 0 nếu key (hàm băm) không tồn tại.

Xóa field khỏi mã băm

Để xóa một field khỏi key (hàm băm), hãy chạy lệnh hdel . hdel có thể chấp nhận nhiều field làm đối số và sẽ trả về một số nguyên cho biết có bao nhiêu field đã bị xóa khỏi key (hàm băm):

> hdel poet:Verlaine born died Output
(integer) 2 

Nếu chúng ta chuyển một field không tồn tại vào hdel , nó sẽ bỏ qua field đó nhưng xóa mọi field hiện có khác mà chúng ta chỉ định.

Nguồn:

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