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:
Nguồn: viblo.asia