redis la gi

Redis là gì? – Redis (REmote DIctionary Server) là một trong mã mối cung cấp ngỏ được dùng làm tàng trữ tài liệu với cấu hình, rất có thể dùng như 1 database, bộ nhớ lưu trữ cache hay 1 message broker.

Bạn đang xem: redis la gi

Nó là khối hệ thống tàng trữ tài liệu với dạng KEY-VALUE rất rất mạnh mẽ và uy lực và thông dụng lúc này. Redis nổi trội vì thế việc tương hỗ nhiều cấu hình tài liệu cơ bạn dạng như:hash, list, phối, sorted phối, string… Tất cả tài liệu được ghi và lưu bên trên ram, vì thế vận tốc phát âm ghi tài liệu cực kỳ nhanh chóng.

redis là gì

Các phần mềm của Redis

Sau định nghĩa redis là gì thì tất cả chúng ta hãy tiếp cận phần mềm của Redis ngoài chức năng tàng trữ KEY-VALUE bên trên RAM thì Redis còn tương hỗ chức năng xắp xếp, query, backup tài liệu bên trên đĩa cứng được chấp nhận chúng ta có thể bình phục tài liệu Khi khối hệ thống gặp gỡ sự cố…và rất có thể nhân bạn dạng (Chạy nhiều Server Redis nằm trong lúc).

  • Caching: Sử dụng thực hiện bộ nhớ lưu trữ đệm. Chính vận tốc phát âm ghi nhanh chóng tuy nhiên Redis rất có thể thực hiện bộ nhớ lưu trữ đệm, điểm share tài liệu Một trong những phần mềm hoặc thực hiện database trong thời điểm tạm thời. Bên cạnh đó Redis rất có thể dùng nhằm thực hiện Full Page Cache mang lại trang web. Cũng vì thế tính nhất quán của Redis, mặc dù restart Redis thì người tiêu dùng cũng không tồn tại cảm biến chậm rì rì Khi vận tải trang.
  • Counter: Sử dụng thực hiện cỗ điểm. Với tính chất tăng rời thông số kỹ thuật rất rất nhanh chóng trong những lúc tài liệu được lưu bên trên RAM, sets và sorted sets được dùng triển khai điểm lượt view của một trang web, những bảng xếp thứ hạng vô game chẳng hạng. Redis tương hỗ thread safe vì thế nó rất có thể đồng điệu tài liệu Một trong những request.
  • Publish/Suscribe (Pub/Sub): Tạo kênh share tài liệu. Redis tương hỗ tạo nên những channel nhằm trao thay đổi tài liệu thân thuộc publisher và subscriber tương tự như channel vô Socket Cluster hay topic trong Apache Kafka. Ví dụ: Pub/Sub được dùng theo dõi dõi những liên kết vô social hoặc những khối hệ thống chat.
  • Queues: Tạo mặt hàng đợi nhằm xử lý theo lần lượt những request. Redis được chấp nhận tàng trữ theo dõi list và hỗ trợ thật nhiều thao tác với những thành phần vô list, chính vì vậy nó còn được dùng như 1 message queue.

Các loại tài liệu vô Redis

Khác với RDMS như MySQL, hoặc PostgreSQL, Redis không tồn tại table (bảng). Redis tàng trữ data bên dưới dạng key-value. Thực tế thì memcache cũng thực hiện vậy, tuy nhiên loại tài liệu của memcache bị giới hạn, ko đa dạng và phong phú được như Redis, vì thế ko tương hỗ được rất nhiều thao tác kể từ phía người tiêu dùng. Dưới đấy là sơ lược về những loại tài liệu Redis dùng làm lưu value.

– STRING: string, integer hoặc float. Redis rất có thể thao tác với tất cả string, từng phần của string, na ná tăng/giảm độ quý hiếm của integer, float.

– LIST: List là một trong list của strings, bố trí theo dõi trật tự insert. Redis rất có thể thêm 1 thành phần vô đầu hoặc cuối list. List thích hợp cho những việc cần thiết thao tác với những thành phần sát đầu và cuối vì thế việc truy xuất này là một cách nhanh nhất, mặc dù insert cả triệu thành phần. Tuy nhiên điểm yếu là sự truy vấn vô những thành phần ở thân thuộc list rất rất chậm rì rì.

– SET: tụ tập những string (không được chuẩn bị xếp). Redis tương hỗ những thao tác thêm thắt, phát âm, xóa từng thành phần, đánh giá sự xuất hiện tại của thành phần vô tụ tập. Bên cạnh đó Redis còn tương hỗ những quy tắc toán tụ tập, bao gồm intersect/union/difference.

– HASH: tàng trữ hash table của những cặp key-value, vô cơ key được bố trí tình cờ, không tuân theo trật tự nào là cả. Redis tương hỗ những thao tác thêm thắt, phát âm, xóa từng thành phần, na ná phát âm toàn bộ độ quý hiếm.

SORTED SET (ZSET): là 1 trong list, vô cơ từng thành phần là map của một string (member) và 1 floating-point number (score), list được bố trí theo dõi score này. Các thành phần của zset được bố trí theo dõi trật tự kể từ score nhỏ cho tới rộng lớn.

Ngoài đi ra, Redis còn tương hỗ những data types không giống như: Bit arrays, HyperLogLogs, Streams. Để thiết đặt chúng ta tìm hiểu thêm docs của Redis nhé.

Để rất có thể vận hành được Redis vì thế skin trang web những chúng ta có thể dùng dụng cụ phpRedisAdmin: https://github.com/erikdubbelboer/phpRedisAdmin để vận hành những database.

Persistent redis là gì

Bên cạnh việc lưu key-value bên trên bộ nhớ lưu trữ RAM, Redis với 2 background threads chuyên nghiệp thực hiện trách nhiệm lịch ghi tài liệu lên đĩa cứng.

Có 2 loại tệp tin được ghi xuống đĩa cứng:

RDB (Redis DataBase file)

RDB triển khai tạo nên và sao lưu snapshot của DB vô ổ cứng sau từng khoảng tầm thời hạn chắc chắn.

Ưu điểm

RDB được chấp nhận người tiêu dùng lưu những version không giống nhau của DB, rất rất thuận tiện Khi có trục trặc xẩy ra.

Bằng việc tàng trữ data vô 1 tệp tin cố định và thắt chặt, người tiêu dùng rất có thể đơn giản dễ dàng fake data cho tới những data centers, sever không giống nhau.

Xem thêm: nginx là gì

RDB gom tối ưu hóa tính năng của Redis. Tiến trình Redis chủ yếu tiếp tục chỉ thực hiện những việc làm bên trên RAM, bao hàm những thao tác cơ bạn dạng được đòi hỏi kể từ phía client như thêm/đọc/xóa, trong những lúc cơ 1 tiến thủ trình con cái tiếp tục phụ trách những thao tác disk I/O. Cách tổ chức triển khai này gom tối nhiều tính năng của Redis.

Khi restart server, người sử dụng RDB thao tác với lượng data rộng lớn sẽ sở hữu được vận tốc cao hơn nữa là người sử dụng AOF.

Nhược điểm

RDB ko cần là lựa lựa chọn đảm bảo chất lượng nếu như bạn thích cắt giảm tối nhiều nguy hại rơi rụng non tài liệu.

Thông thông thường người tiêu dùng tiếp tục phối up sẽ tạo RDB snapshot 5 phút 1 phiên (hoặc nhiều hơn). Do vậy, vô tình huống có trục trặc, Redis ko thể hoạt động và sinh hoạt, tài liệu trong mỗi phút cuối sẽ ảnh hưởng rơi rụng.

RDB nhớ dùng fork() sẽ tạo tiến thủ trình con cái đáp ứng mang lại thao tác disk I/O. Trong tình huống tài liệu quá to, quy trình fork() rất có thể tốn thời hạn và server sẽ không còn thể đáp ứng nhu cầu được request kể từ client vô vài ba milisecond hoặc thậm chí là là 1 trong second tùy nằm trong vô lượng data và tính năng CPU.

AOF (Append Only File)

AOF ghi lại toàn bộ những thao tác write tuy nhiên server cảm nhận được, những thao tác này sẽ tiến hành chạy lại Khi restart server hoặc tái mét thiết lập dataset thuở đầu.

Ưu điểm

Sử dụng AOF sẽ hỗ trợ đáp ứng dataset được kiên cố rộng lớn đối với người sử dụng RDB. Người người sử dụng rất có thể config nhằm Redis ghi log theo dõi từng câu query hoặc từng giây 1 phiên.

Redis ghi log AOF theo phong cách thêm thắt vào thời điểm cuối tệp tin sẵn với, vì thế tiến thủ trình seek bên trên tệp tin đã có sẵn trước là ko quan trọng. Bên cạnh đó, cho dù là Khi chỉ 1 nửa câu mệnh lệnh được ghi vô tệp tin log (có thể tự ổ đĩa bị full), Redis vẫn đang còn cách thức vận hành và thay thế sửa chữa lối cơ (redis-check-aof).

Redis hỗ trợ tiến thủ trình chạy nền, được chấp nhận ghi lại tệp tin AOF Khi dung tích tệp tin quá to.

Trong Khi server vẫn triển khai thao tác bên trên tệp tin cũ, 1 tệp tin trọn vẹn vừa được dẫn đến với con số ít nhất operation đáp ứng mang lại việc tạo nên dataset thời điểm hiện tại. Và 1 Khi tệp tin vừa được ghi kết thúc, Redis tiếp tục fake quý phái triển khai thao tác ghi log bên trên tệp tin mới mẻ.

Nhược điểm

File AOF thông thường to hơn tệp tin RDB với nằm trong 1 dataset.

AOF rất có thể chậm rì rì rộng lớn RDB tùy từng phương thức thiết lập khoảng tầm thời hạn mang lại việc sao lưu vô ổ cứng. Tuy nhiên, nếu như thiết lập log 1 giây 1 phiên rất có thể đạt tính năng tương tự với RDB.

Developer của Redis từng gặp gỡ cần bug với AOF (mặc mặc dù là rất rất hiếm), này là lỗi AOF ko thể khởi tạo lại đúng mực dataset Khi restart Redis. Lỗi này ko gặp gỡ cần Khi thao tác với RDB khi nào.

Kết luận redis là gì?

Redis là một trong sự lựa lựa chọn tuyệt hảo Khi tao người sử dụng một server tàng trữ tài liệu yên cầu tính không ngừng mở rộng cao (scaleable) và share vì thế nhiều tiến thủ trình, nhiều phần mềm và nhiều server không giống nhau.

Có thể bạn thích coi thêm:

  • Server side cache with Go
  • Tuyệt kỹ: Sử dụng cache nhằm tăng cường hệ thống
  • Cấu hình Redis Caching nhằm tăng cường site WordPress của bạn

Xem thêm thắt tuyển chọn dụng it lộc cao tại TopDev

Xem thêm: hệ số là gì