Hướng dẫn
Run Docker redis:
docker run -p 6379:6379 -d redis
Tiếp đến bạn đi vào trong redis:
docker exec -it f0b85ad30e58 bash
bạn sẽ thấy bên trong redis có săn các tool command:
root@f0b85ad30e58:/data# re read readlink readprofile redis-benchmark redis-check-rdb redis-sentinel remove-shell reset resizepart rev readarray readonly realpath redis-check-aof redis-cli redis-server renice resize2fs return
Redis string
chúng ta dùng lệnh set đến gán 1 key vào
set <key_name> <value>
Get value của 1 key
get <key_name>
Ngoài ra chúng ta cò getrange
getrange mykey 0 -1
Nó lấy về 1 phần được chỉ định 1 cách rõ ràng thuộc chuỗi được lưu trữ trong 1 key.
getrange <key_name> <first character> <last character>
last character sẽ là dấu âm.
127.0.0.1:6379> getrange mykey 0 3 "this"
Ngoài ra chúng ta có thể dùng mset và mget để gán và lấy nhiều keys values
Đếm độ dài của value thuộc 1 key dùng strlen <key_name>
với các value là kiểu số chúng ta cũng thể tăng giảm value
để tăng 1 giả trị thì dùng: incr count
để giảm 1 giá trị thì dùng: decr count
Nếu bạn muốn cộng thêm 1 lượng cụ thể incrby count <number>
Giảm 1 lượng cụ thể: decrby count <number>
127.0.0.1:6379> set count 1
OK
127.0.0.1:6379> get count
"1"
127.0.0.1:6379> incr count
(integer) 2
127.0.0.1:6379> incr count
(integer) 3
127.0.0.1:6379> incr count
(integer) 4
127.0.0.1:6379> get count
"4"
127.0.0.1:6379> incrby count 10
(integer) 14
127.0.0.1:6379> decr count
(integer) 13
127.0.0.1:6379> decr count
(integer) 12
127.0.0.1:6379> decrby count 10
(integer) 2
Một điều quan trọng chúng ta có set được expire cho key cụ thể:
expire <key_name> <second_expire>
kiểu tra expire time của 1 key: ttl <key_name>
127.0.0.1:6379> set a 1 OK 127.0.0.1:6379> expire a 10 (integer) 1 127.0.0.1:6379> ttl a (integer) 8 127.0.0.1:6379> ttl a (integer) 7 127.0.0.1:6379> ttl a (integer) 6 127.0.0.1:6379> ttl a (integer) 5 127.0.0.1:6379> ttl a (integer) 4 127.0.0.1:6379> ttl a (integer) 3 127.0.0.1:6379> ttl a (integer) 3 127.0.0.1:6379> ttl a (integer) 2 127.0.0.1:6379> ttl a (integer) 1 127.0.0.1:6379> ttl a (integer) 0 127.0.0.1:6379> ttl a (integer) -2 127.0.0.1:6379> ttl a (integer) -2 127.0.0.1:6379> ttl a (integer) -2 127.0.0.1:6379> get a (nil)
Show toàn bộ key:
127.0.0.1:6379> keys * 1) "mykey" 2) "count"
redis list
lpush là 1 command trong redis được sử dụng để insert 1 hoặc nhiều values vào 1 key
lpush thì nó sẽ add lên đầu
LPUSH key value [value ...]
còn nếu bạn muốn add vào cuối thì dùng rpush
Để lấy length của 1 list trong redis: llen <key_name>
Để xóa phần tử trong list
– để xóa phần tử đầu tiên thì lpop <key_name>
– để xóa phần tử cũ nhất rpop <key_name>
Để chỉnh sửa 1 value cụ thể trong list
lset <key_name> <position> <new_value>
Nếu bạn muốn insert value vào giữa list
lấy value theo index
Chúng ta muốn push value nếu key đó tồn tại
Sắp xếp dữ liệu hiện thị theo kiểu alpha
Hoặc kiểu desc
Redis sets
SADD comamdn trong redis được sử dụng để add 1 hoặc nhiều menbers vào một set stored.
127.0.0.1:6379> sadd backend redis (integer) 1 127.0.0.1:6379> sadd backend java (integer) 1 127.0.0.1:6379> sadd backend nodejs aws (integer) 2
127.0.0.1:6379> smembers backend 1) "aws" 2) "nodejs" 3) "java" 4) "redis"
Chúng ta có thể đếm số lượng phần từ trong Redis Set.
127.0.0.1:6379> scard backend (integer) 4
Điểm khác giữa lpush và sadd là lpush chúng ta có thể add những giá trị trùng nhau còn sadd thì không.
Kiểm tra value có tồn tại trong key không?
trong backend có chứa value là java
Tiếp theo chúng ta kiển tra các member của backend mà không có trong frontend.
Nếu chúng ta muốn tạo 1 key mà để lưu trữ các key mà khác nhau giữa backend và frontend.
Key newSet chưa các phần tử trong backend mà không thấy trong frontend.
và tìm các phần tử chung của 2 thằng backend và frontend.
chúng ta muốn thực hiện phép hợp (union) của các tập hợp (sets) và trả về các phần tử khách nhau từ các tập hợp đã được chỉ định.
Chúng ta sẽ có để store các phần tử trả về của union.