Professional Documents
Culture Documents
Redis
Giáo viênThành
hướng viên:
dẫn:
19520871 ThS.Nguyễn
Tạ Thu Quốc
Thủy
Quân
19522503 Trần Thị Thanh
Tuyền
INFORGRAPHIC
01 02 03 04 05
Ví dụ key-value
02 1.2 Sự ra đời của Redis
03 1.2 Sự ra đời của Redis
RA ANSI DISK
M C
REDIS
04 1.3 Tổng quan về Redis
05 1.3 Tổng quan về Redis
●Là một dạng DBMS NoSQL sử dụng cấu trúc
Key-Value.
●Có mã nguồn mở.
●Viết bằng ANSI C.
REDIS
●Nổi tiếng với độ trễ dưới 1 mili giây.
06 1.3 Tổng quan về Redis
●Hỗ trợ hầu hết ngôn ngữ lập trình như C, C#,
Java, Dart, PHP,…
●Hỗ trợ phần lớn hệ thống POSIX như Linux,
BSD, OS X.
REDIS
●Khách hàng giao tiếp với server qua giao thức
RESP (Redis Serialize Protocol).
INFORGRAPHIC
01 02 03 04 05
●STRING
●LIST
●SET
●HASH
●SORTED SET
08 STRING
Mọi thao tác đọc/ghi, lưu trữ dữ liệu đều ở trên RAM.
Hiệu năng nhanh hơn rất nhiều so với CSDL sử dụng trên ổ cứng.
16 2.3 Redis Persistence
17 2.3 Redis Persistence
Tuy làm việc với data lưu trữ trên RAM nhưng Redis cũng cần lưu trữ
vào ổ cứng, có 2 lí do sau:
Đảm bảo toàn vẹn dữ liệu khi xảy ra sự cố và tái tạo dataset khi
restart server.
Gửi data đến slave server, phục vụ tính năng sao chép nhân
rộng.
19 2.3 Redis Persistence
Redis Persistence cung cấp cho người dùng các lựa chọn sau:
RDB (Redis database file): Sau 1 khoảng thời gian đặt trước
sẽ thực hiện lưu data vào ổ cứng.
AOF (Append only file): Lưu lại vào ổ cứng mọi thao tác viết
dữ liệu
No persistence: Tắt nếu ứng dụng không cần backup data.
RDB + AOF: Kết hợp cả 2 nhưng khi restart Redis thì AOF
sẽ được ưu tiên để khởi động lại dataset.
20 2.4 Redis Modules
21 2.3 Redis
Redis Search
Modules
22 2.3 Redis
Redis Modules
Graph
23 2.3 Redis
Redis Modules
JSON
INFORGRAPHIC
01 02 03 04 05
3.1
Cài đặt Redis
25 PLATFORM REDIS SUPPORTS
Platform Versions/Information
14.04 (Support ends on November 30, 2020)
Ubuntu 16.04, 18.04
7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9
RHEL/CentOS 7 Requires OpenSSL 1.0.2 and
firewall configuration
Redis có Redis
thể hoạt động được
thường như 1sửbộdụng
nhớ làm
trong hoặc
hệbộ nhớ lưu
thống cache.
trữ cache - bộ nhớ
đệm
Redis hỗtrong các ứng
trợ nhiều kiểudụng cần truy
cấu trúc
xuất(hash,
dữ liệu dữ liệu vớiset,…)
list, tốc độ phản hồi
nhanh.
Công nghệ đọc/ghi data được
thiết kế và tối ưu hiệu suất cao. Web caching
Cho phép Scripting bằng ngôn
ngữ Lua.
31 Làm bộ nhớ đệm (Cache)
VS
36 Điểm giống nhau
Redis Memcached
VS
37 Điểm khác nhau
Server-end data operations (các phép Disk I/O dumping (Backup dữ liệu)
Redis
toán cho dữ liệu ở phía server)
Memcached
Usage (cách sử dụng)
Memory usage efficiency (Mức độ Scalable (khả năng mở rộng)
hiệu quả trong sử dụng bộ nhớ)
Redis Memcached
Hỗ trợ các phép toán cho dữ Ra đời trước nên hỗ trợ ít
liệu phía server nhiều hơn
Memcached.
VS phép toán hơn.
Redis Memcached
Nếu sử dụng Redis với các Memcached sử dụng hiệu quả
Redis Memcached
Redis chỉ sử dụng duy nhất Memcached được tối ưu để sử
một core CPU. VS
Redis sẽ có hiệu năng lớn hơn
dụng nhiều core CPU.
Memcached vượt trội nếu so
khi so sánh lượng dữ liệu trên sánh dữ liệu tổng thể.
một core. Dù Redis đã tối ưu cho dữ liệu
lớn nhưng vẫn kém hơn
Memcached.
41 Read/write speed
(Tốc độ đọc/ghi)
Redis Memcached
Kích thước tối đa cả Key và Kích thước tối đa của Key là
Value của Redis là 512MB. VS 250 bytes.
Kích thước tối đa mặc định
của Value là 1MB.
43 Disk I/O dumping
(Backup dữ liệu)
Redis Memcached
Redis có cơ chế mặc định Memcached không có cơ chế
backup dữ liệu vào ổ cứng. VS
backup dữ liệu nếu không có
phần mềm thứ 3 hỗ trợ.
44 Usage
(Cách sử dụng)
Redis Memcached
Redis dễ cài đặt và sử dụng Memcached khó cài đặt hơn
hơn. VS
Redis.
45 Scalable
(Khả năng mở rộng)
Redis Memcached
Hỗ trợ các bản sao master- Không hỗ trợ sao chép.
slave. VS
Nhưng có thể sử dụng phần
mềm thứ ba để hỗ trợ như
Repcached.
46 Data types
(Kiểu dữ liệu)
Redis Memcached
Có nhiều kiễu dữ liệu hơn như Kiểu dữ liệu choỗi và số
VS
choỗi, danh sách, hàm băm,… nguyên.
47
Ngôn ngữ hỗ
trợ
Redis hỗ trợ hầu hết ngôn
ngữ được sử dụng để lập
trình.
Memcached thì hỗ trợ ít VS
hơn nhưng vẫn hỗ trợ được
toàn bộ các ngôn ngữ phổ
biến.
48 Tổng kết
●Hoạt động tốt, nhanh, đơn giản.
●Cho phép lưu trữ cặp key-value với dữ
liệu < 1MB.
●Tuy nhiên restart sẽ mất dữ liệu.
●Có các tool, service bên thứ 3 hỗ trợ.
●Rất phù hợp với các dự án chỉ cần cache
data nhẹ, đơn giản.
Memcached
49 Tổng kết
●Có thể làm như Memcached thậm chí còn
tốt hơn.
●Cũng có thể sử dụng như bộ nhớ cache
nhưng dữ liệu lưu trữ lên tới 512MB.
●Restart vẫn lưu lại dữ liệu và đây là cài
đặt mặc định.
●Tool, service nhiều hơn Memcached.
●Hệ thống sử dụng Redis cũng nhiều hơn
Redis Memcached.
50 Độ phổ biến
Redis hiện tại là DBMS phổ biến thứ 6 trên toàn thế giới
tính đến tháng 8/2021.
Kết Luận
53
Ưu điểm
54
Nhược
điểm
61 Không sử dụng được cấu trúc dữ liệu
quan hệ
62
Tối ưu cho việc sử dụng nhiều core CPU thay vì chỉ một core
CPU.
Tăng cường bảo mật, đặc biệt là phân quyền truy cập dữ liệu.
Giúp Redis trở nên nhanh hơn nữa.
Giúp Redis dễ sử dụng hơn.
65 Định hướng phát triển