01/10/2018, 15:38

Bài 5: Redis – Keys

Redis keys command được sử dụng cho việc quản lý keys trong redis. Cú pháp: 127.0.0.1:6379> COMMAND KEY_NAME EX: 127.0.0.1:6379> SET dammelaptrinh redis OK 127.0.0.1:6379> DEL dammelaptrinh (integer) 1 Trong ví dụ trên DEL là một command, trong khi ...

Redis keys command được sử dụng cho việc quản lý keys trong redis.

Cú pháp:

127.0.0.1:6379> COMMAND KEY_NAME

EX:

127.0.0.1:6379> SET dammelaptrinh redis

OK

127.0.0.1:6379> DEL dammelaptrinh

(integer) 1

Trong ví dụ trên DEL là một command, trong khi dammelaptrinh là key. Nếu key bị xóa, thì output của command sẽ là (integer) 1, mặt khác nó sẽ (integer) 0.

Redis keys commands

Một số command cơ bản liên quan đến key:

S.N. Command & Description
1 DEL key
Lệnh này xóa key nếu tồn tại
2 DUMP key 

Lệnh này trả về một phiên bản serialize của giá trị được lưu trữ ở key xác định.

bai5_dump

3 EXISTS key 
Lệnh này kiễm tra key tồn tại hay không. Trả về 1 nếu có, ngược lại 0.127.0.0.1:6379> EXISTS KEY_NAME

EX: 127.0.0.1:6379> EXISTS dammelpatrinh-new-key

(integer) 0

4 EXPIRE key seconds
Key sẽ hết hạn sau khi xác định thời gian127.0.0.1:6379> Expire KEY_NAME TIME_IN_SECONDS //trả về 1 nếu có key để set và 0 nếu không tồn tại key.

EX: 127.0.0.1:6379> EXPIRE dammelaptrinh 60

(integer) 1

Sau 60 giây thì key dammelaptrinh sẽ không tồn tại trong redis.

5 EXPIREAT key timestamp 

Key sẽ hết hạn sau khoảng thời gian xác định. Ở đây thời gian là dạng Unix timestamp

127.0.0.1:6379> Expireat KEY_NAME TIME_IN_UNIX_TIMESTAMP

EX: EXPIREAT dammelaptrinh 1293840000

(integer) 1

EXISTS dammelaptrinh

(integer) 0

6 PEXPIRE key milliseconds 

Set hết hạn key theo millisecond

127.0.0.1:6379> PEXPIRE KEY_NAME TIME_IN_MILLISECONDS

EX: PEXPIRE dammelaptrinh 5000

(integer) 1

7 PEXPIREAT key milliseconds-timestamp 
Set the expiry of key in unix timestamp specified as millisecondsSet hết hạn key trong unix timestamp xác định như millisecond

127.0.0.1:6379> PEXPIREAT KEY_NAME TIME_IN_MILLISECONDS_IN_UNIX_TIMESTAMP

EX: PEXPIREAT dammelaptrinh 1555555555005

(integer) 1

8 KEYS pattern 
Tìm tất cả key khớp với pattern chỉ địnhEX: 127.0.0.1:6379> SET tutorial1 redis

OK

127.0.0.1:6379> SET tutorial2 mysql

OK

127.0.0.1:6379> SET tutorial3 mongodb

OK

127.0.0.1:6379> KEYS tutorial*

1) “tutorial3”

2) “tutorial1”

3) “tutorial2”

Lấy hết key như sau:

127.0.0.1:6379> KEYS *

1) “tutorial3”

2) “tutorial1”

3) “tutorial2”

9 MOVE key db 
Di chuyển một key tới db khác127.0.0.1:6379> MOVE KEY_NAME DESTINATION_DATABASE

EX: 127.0.0.1:6379> SET tutorial1 redis

127.0.0.1:6379> MOVE tutorial1 1

1) (integer) 1

10 PERSIST key 
Xóa hết hạn cho key127.0.0.1:6379> PERSIST KEY_NAME

Trước tiên chúng ta sẽ tạo một key và set một số giá trị cho nó

127.0.0.1:6379> SET tutorial1 redis

OK

Bây giờ đặt hết hạn và sau đó loại bỏ hết hạn

127.0.0.1:6379> EXPIRE tutorial1 60

1) (integer) 1

127.0.0.1:6379> TTL tutorial1 //xem thời gian hết hạn còn lại bao nhiêu

1) (integer) 60

127.0.0.1:6379> PERSIST tutorial1

1) (integer) 1

127.0.0.1:6379> TTL tutorial1

1) (integer) -1 //ko có hết hạn

11 PTTL key 
Lấy thời gian còn lại của key hết hạn trong millisecond.127.0.0.1:6379> PTTL KEY_NAME

EX: 127.0.0.1:6379> SET tutorialname redis

127.0.0.1:6379> EXPIRE tutorialname 1

1) (integer) 1

127.0.0.1:6379> PTTL tutorialname

1) (integer) 999

12 TTL key 
Lấy thời gian còn lại của key hết hạn.127.0.0.1:6379> TTL KEY_NAME // -1 nếu key không có set expire, -2 key không tồn tại

EX: 127.0.0.1:6379> SET tutorialname redis

127.0.0.1:6379> EXPIRE tutorialname 60

1) (integer) 1

127.0.0.1:6379> TTL tutorialname

1) (integer) 59

13 RANDOMKEY 
Trả về key ngẩu nhiên từ redis127.0.0.1:6379> RANDOMKEY

127.0.0.1:6379> SET tutorial1 redis

OK

127.0.0.1:6379> SET tutorial2 mysql

OK

127.0.0.1:6379> SET tutorial3 mongodb

OK

127.0.0.1:6379> RANDOMKEY

1) tutorial3

14 RENAME key newkey 
Đổi tên key127.0.0.1:6379> RENAME OLD_KEY_NAME NEW_KEY_NAME

127.0.0.1:6379> SET tutorial1 redis

OK

127.0.0.1:6379> RENAME tutorial1 new-tutorial

OK

15 RENAMENX key newkey 
Đổi tên key, nếu key mới không tồn tại127.0.0.1:6379> RENAMENX OLD_KEY_NAME NEW_KEY_NAME

127.0.0.1:6379> SET tutorial1 redis

OK

127.0.0.1:6379> SET tutorial2 mongodb

OK

127.0.0.1:6379> RENAMENX tutorial1 new-tutorial

(integer) 1

127.0.0.1:6379> RENAMENX tutorial2 new-tutorial

(integer) 0 //tên mới đã có rồi nên không thực hiện được

16 TYPE key 
Trả về kiểu dữ liệu của giá trị đã lưu trữ trong key.127.0.0.1:6379> TYPE KEY_NAME

127.0.0.1:6379> SET tutorial1 redis

OK

127.0.0.1:6379> TYPE tutorial1

string

 

0