Cơ sở dữ liệu quan hệ (SQL) tổ chức dữ liệu thông qua các bảng và liên kết giữa chúng, thường dùng để bảo vệ thông tin nhạy cảm như hồ sơ người dùng.
Dữ liệu được lưu trữ trên đĩa cứng.
Cơ sở dữ liệu không quan hệ (NoSQL) không có ràng buộc khóa chính-khóa ngoại, không cần bảo vệ và không hỗ trợ cú pháp SQL (ví dụ: mã xác nhận, lịch sử truy cập).
Mỗi loại cơ sở dữ liệu NoSQL có cú pháp riêng.
Dữ liệu được lưu trữ trong bộ nhớ, với định dạng là tài liệu JSON (từ điển) hoặc cặp khóa-giá trị (key-value).
Dữ liệu được lưu trữ trên đĩa cứng.
Cơ sở dữ liệu không quan hệ (NoSQL) không có ràng buộc khóa chính-khóa ngoại, không cần bảo vệ và không hỗ trợ cú pháp SQL (ví dụ: mã xác nhận, lịch sử truy cập).
Mỗi loại cơ sở dữ liệu NoSQL có cú pháp riêng.
Dữ liệu được lưu trữ trong bộ nhớ, với định dạng là tài liệu JSON (từ điển) hoặc cặp khóa-giá trị (key-value).
Mã xác nhận thường có tính thời gian ngắn, không cần lưu trữ vĩnh viễn.
Redis hỗ trợ các kiểu dữ liệu: chuỗi (string), danh sách (list), tập hợp (set), tập hợp sắp xếp (sorted set) và bản đồ hash.
Redis hỗ trợ các kiểu dữ liệu: chuỗi (string), danh sách (list), tập hợp (set), tập hợp sắp xếp (sorted set) và bản đồ hash.
Bắt đầu Redis
redis-server
Kết nối
Có tổng cộng 16 cơ sở dữ liệu được đánh số từ 0 đến 15. Bạn có thể chọn cơ sở dữ liệu cụ thể khi kết nối.
Mặc định, bạn sẽ kết nối đến cơ sở dữ liệu số 0.
redis-cli -h 127.0.0.1 -p 6379 (để kết nối từ xa)
(Ghi chú: Cú pháp Redis không phân biệt chữ hoa và chữ thường.)
Để kết nối cục bộ:
redis-cli
Để tắt máy chủ:
SHUTDOWN
Chuyển đổi cơ sở dữ liệu
SELECT 1
Dữ liệu chuỗi
Thêm dữ liệu đơn
SET key value
MSET key1 value1 key2 value2
SET ten "Nguyễn Văn A" # Thêm
SET ten "Trần Văn B" # Sửa
MSET ten "Hoàng Văn C" tuoi 21 # Thêm nhiều dữ liệu
Xem dữ liệu
GET ten
Lấy tất cả các khóa
KEYS *
Xóa khóa
DEL ten
Thêm nhiều dữ liệu
MSET ten1 "Trần Văn B" ten2 "Nguyễn Thị C" ten3 "Hoàng Văn D"
Sửa nhiều dữ liệu
MSET ten1 "Trần Văn B1" ten2 "Nguyễn Thị C1" ten3 "Hoàng Văn D1"
Lấy nhiều dữ liệu
MGET ten1 ten2 ten3
Xóa nhiều dữ liệu
DEL ten1 ten2 ten3
Kiểm tra tồn tại của khóa
EXISTS ten1
Đổi tên khóa
RENAME tuoi tuoi_moi
Tạo khóa với thời hạn
SET ten "Trần Văn B" EX 30
Xem thời hạn của khóa
TTL ten
Chuyển khóa thành vĩnh viễn
PERSIST ten
Gán thời hạn cho khóa
EXPIRE ten 6000
Xóa toàn bộ cơ sở dữ liệu
FLUSHALL
Dữ liệu danh sách
LPUSH ds1 a b c d e f
RPUSH ds2 a b c d e f
Lấy phần tử từ danh sách
LRANGE ds1 0 -1
Lấy độ dài danh sách
LLEN ds1
Sửa phần tử trong danh sách
LSET ds1 0 "ff"
Xóa phần tử khỏi danh sách
LPOP ds2<br />RPOP ds2
Lấy phần tử dựa vào vị trí
LINDEX ds1 1
Xóa một số phần tử cụ thể
LREM ds1 2 "a"<br />LREM ds1 -1 "b"
Dữ liệu bản đồ (Hash)
HSET thongtin ten "Nguyễn Văn A" tuoi 19 gioitinh "nam"
HGETALL thongtin
HGET thongtin ten
HMGET thongtin ten tuoi
HSET thongtin ten "Nguyễn Văn A1"
HDEL thongtin ten
HLEN thongtin
Dữ liệu tập hợp (Set)
Tập hợp không thứ tự
SADD tap_hop_1 1 2 3 4 5 6 7 8 9
SMEMBERS tap_hop_1
SPOP tap_hop_1 2
SREM tap_hop_1 1
SINTER tap_hop_1 tap_hop_2
SINTERSTORE tap_hop_3 tap_hop_1 tap_hop_2
SUNION tap_hop_1 tap_hop_2
SUNIONSTORE tap_hop_4 tap_hop_1 tap_hop_2
SDIFF tap_hop_2 tap_hop_1
SDIFFSTORE tap_hop_5 tap_hop_2 tap_hop_1
SCARD tap_hop_5
SRANDMEMBER tap_hop_4 2
SRANDMEMBER tap_hop_4 -2
Dữ liệu tập hợp sắp xếp (Sorted Set)
ZADD tap_hop_sap_xep_1 100 "a" 90 "b" 80 "c" 70 "d" 60 "e" 51 "f"
ZRANGE tap_hop_sap_xep_1 0 -1 WITHSCORES
ZREM tap_hop_sap_xep_1 "b"
ZINTERSTORE tap_hop_sap_xep_3 2 tap_hop_sap_xep_1 tap_hop_sap_xep_2
ZUNIONSTORE tap_hop_sap_xep_4 2 tap_hop_sap_xep_1 tap_hop_sap_xep_2
Bổ sung
ZRANGEBYSCORE tap_hop_sap_xep_4 (60 (100 WITHSCORES
ZCOUNT tap_hop_sap_xep_4 70 120
ZREMRANGEBYSCORE tap_hop_sap_xep_4 (60 (100
ZREMRANGEBYRANK tap_hop_sap_xep_4 0 2