Cơ sở dữ liệu không quan hệ Redis

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).
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.

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

Thẻ: Redis nosql Database key-value string

Đăng vào ngày 8 tháng 10 lúc 10:05