Bài 7: Redis – Hashes
Redis Hashes vẽ ra một đối tượng giữa string field và string values, vì thế chúng là kiểu dữ liệu hoàn hảo tới các đối tượng tương ứng. Trong redis mổi hash có thể lưu trử tới hơn 4 tỷ cặp field-value. EX: 127.0.0.1:6379> HMSET dammelaptrinh name “redis tutorial” ...
Redis Hashes vẽ ra một đối tượng giữa string field và string values, vì thế chúng là kiểu dữ liệu hoàn hảo tới các đối tượng tương ứng.
Trong redis mổi hash có thể lưu trử tới hơn 4 tỷ cặp field-value.
EX:
127.0.0.1:6379> HMSET dammelaptrinh name “redis tutorial” description “redis basic commands for caching” likes 20 visitors 23000
OK
127.0.0.1:6379> HGETALL dammelaptrinh
1) “name”
2) “redis tutorial”
3) “description”
4) “redis basic commands for caching”
5) “likes”
6) “20”
7) “visitors”
8) “23000”
Trong ví dụ trên chúng ta đã set redis tutorials chi tiết gồm (name, description, likes, visitors) và đặt tên hash là dammelaptrinh.
Redis hash commands
S.N. | Command & Description |
1 | HDEL key field2 [field2] Xóa một hoặc nhiều field hash 127.0.0.1:6379> HDEL KEY_NAME FIELD1.. FIELDN 127.0.0.1:6379> HSET myhash field1 “foo” (integer) 1 127.0.0.1:6379> HDEL myhash field1 (integer) 1 127.0.0.1:6379> HDEL myhash field2 (integer) 1 |
2 | HEXISTS key field Xác định field hash có tồn tại hay không 127.0.0.1:6379> HEXISTS KEY_NAME FIELD_NAME 127.0.0.1:6379> HSET myhash field1 “foo” (integer) 1 127.0.0.1:6379> HEXISTS myhash field1 (integer) 1 127.0.0.1:6379> HEXISTS myhash field2 (integer) 0 |
3 | HGET key field Lấy giá trị của một field hash đã lưu trữ ở key xác định 127.0.0.1:6379> HGET KEY_NAME FIELD_NAME 127.0.0.1:6379> HSET myhash field1 “foo” (integer) 1 127.0.0.1:6379> HGET myhash field1 “foo” 127.0.0.1:6379> HEXISTS myhash field2 (nil) |
4 | HGETALL key Lấy tất cả field và value đã lưu trong một hash của key xác định 127.0.0.1:6379> HGETALL KEY_NAME 127.0.0.1:6379> HSET myhash field1 “Hello” (integer) 1 127.0.0.1:6379> HSET myhash field2 “World” (integer) 1 127.0.0.1:6379> HGETALL myhash 1) “field1” 2) “Hello” 3) “field2” 4) “World” |
5 | HINCRBY key field increment Tăng giá trị số nguyên của field hash lên một số chỉ định 127.0.0.1:6379> HINCRBY KEY_NAME FIELD_NAME INCR_BY_NUMBER 127.0.0.1:6379> HSET myhash field1 20 (integer) 1 redis 127.0.0.1:6379> HINCRBY myhash field 1 (integer) 21 127.0.0.1:6379> HINCRBY myhash field -1 (integer) 20 |
6 | HINCRBYFLOAT key field increment Tăng giá trị số thực của field hash bởi giá trị được cho 127.0.0.1:6379> HINCRBYFLOAT KEY_NAME FIELD_NAME INCR_BY_NUMBER 127.0.0.1:6379> HSET myhash field 20.50 (integer) 1 127.0.0.1:6379> HINCRBYFLOAT mykey field 0.1 “20.60” |
7 | HKEYS key Lấy tất cả field trong một hash 127.0.0.1:6379> HKEYS KEY_NAME 127.0.0.1:6379> HSET myhash field1 “foo” (integer) 1 127.0.0.1:6379> HSET myhash field2 “bar” (integer) 1 127.0.0.1:6379> HKEYS myhash 1) “field1” 2) “field2” |
8 | HLEN key Lấy số field trong một hash 127.0.0.1:6379> HLEN KEY_NAME 127.0.0.1:6379> HSET myhash field1 “foo” (integer) 1 127.0.0.1:6379> HSET myhash field2 “bar” (integer) 1 127.0.0.1:6379> HLEN myhash (integer) 2 |
9 | HMGET key field1 [field2] Lấy tất cả giá trị của các hash field 127.0.0.1:6379> HMGET KEY_NAME FIELD1…FIELDN 127.0.0.1:6379> HSET myhash field1 “foo” (integer) 1 127.0.0.1:6379> HSET myhash field2 “bar” (integer) 1 127.0.0.1:6379> HMGET myhash field1 field2 nofield 1) “foo” 2) “bar” 3) (nil) |
10 | HMSET key field1 value1 [field2 value2 ] Set nhiều hash field tới nhiều giá trị 127.0.0.1:6379> HMSET KEY_NAME FIELD1 VALUE1 …FIELDN VALUEN 127.0.0.1:6379> HMSET myhash field1 “foo” field2 “bar” OK 127.0.0.1:6379> HGET myhash field1 “foo” 127.0.0.1:6379> HMGET myhash field2 “bar” |
11 | HSET key field value Set giá trị chuỗi của field hash 127.0.0.1:6379> HSET KEY_NAME FIELD VALUE 127.0.0.1:6379> HSET myhash field1 “foo” OK 127.0.0.1:6379> HGET myhash field1 “foo” |
12 | HSETNX key field value Set giá trị của field hash, chỉ set nếu field không tồn tại 127.0.0.1:6379> HSETNX KEY_NAME FIELD VALUE 127.0.0.1:6379> HSETNX myhash field1 “foo” (integer) 1 127.0.0.1:6379> HSETNX myhash field1 “bar” (integer) 0 127.0.0.1:6379> HGET myhash field1 “foo” |
13 | HVALS key Lấy tất cả giá trị trong một hash 127.0.0.1:6379> HVALS KEY_NAME FIELD VALUE 127.0.0.1:6379> HSET myhash field1 “foo” (integer) 1 127.0.0.1:6379> HSET myhash field2 “bar” (integer) 1 127.0.0.1:6379> HVALS myhash 1) “foo” 2) “bar” |