Công cụ lưu trữ Redis phổ biến là một công cụ tuyệt vời và phải có trong kho vũ khí của bất kỳ nhà phát triển phần mềm nào. Công cụ lưu trữ trong bộ nhớ cho phép lưu trữ và truy xuất dữ liệu cực nhanh, lên đến 32 triệu truy vấn ấn tượng mỗi giây, làm cho nó trở thành một bổ sung chính cho bất kỳ công cụ cơ sở dữ liệu chính nào
Hãy đi sâu vào và tìm hiểu cách tăng tốc các hoạt động trực tuyến của chúng tôi
làm lại. ưu vs. Nhược điểm
Lợi ích lớn nhất của Redis là nó hoàn toàn là kho lưu trữ dữ liệu trong bộ nhớ, nghĩa là nó cực kỳ nhanh vì cơ sở dữ liệu được lưu trữ trong RAM do đó không cần thao tác I/O tệp đối với ổ cứng
Các lợi ích bổ sung khác là tính đơn giản, hỗ trợ phân cụm thông qua Redis-cluster, cộng với hỗ trợ tám loại dữ liệu khác nhau mang đến cho bạn sự linh hoạt cần thiết để lưu trữ và quản lý dữ liệu của mình khi cần
Tuy nhiên, nhược điểm lớn nhất của nó cũng là thực tế nó hoàn toàn là một kho lưu trữ dữ liệu trong bộ nhớ, do đó có giới hạn về kích thước. Nó phụ thuộc vào cơ sở hạ tầng máy chủ của bạn, nhưng vì mục đích của bài viết này và tính đơn giản, cơ sở dữ liệu Redis điển hình của bạn sẽ chỉ chứa tối đa 2-4GB dữ liệu
Điều này có nghĩa là Redis được sử dụng để khen ngợi các công cụ cơ sở dữ liệu được sử dụng phổ biến như mySQL, PostgreSQL và MongoDB và không có nghĩa là thay thế. Các mục đích sử dụng chính của Redis bao gồm bộ đệm, dữ liệu tạm thời/gần đây sẽ hết hạn trong một khoảng thời gian ngắn hoặc các mẩu dữ liệu nhỏ được truy cập thường xuyên
Cách cài đặt Redis
Giả sử bạn đang chạy Ubuntu hoặc bất kỳ bản phân phối Linux nào có chứa lệnh apt-get, thì để cài đặt Redis, bạn chỉ cần chạy lệnh sau trong terminal
sudo apt-get install redis-server
Tiếp theo, kiểm tra để đảm bảo Redis đã được cài đặt thành công. Trong terminal, chạy lệnh
redis-cli --version
Thao tác này sẽ in phiên bản Redis bạn đang chạy và giả sử như vậy, hãy chạy lệnh sau để kết nối với Redis
redis-cli
Điều này sẽ cung cấp cho bạn lời nhắc Redis không chuẩn trong thiết bị đầu cuối, trông giống như
127.0.0.1:6379>
Lệnh chuỗi
Mỗi mục nhập vào Redis được xác định bằng một khóa, có thể là bất kỳ chuỗi không phải khoảng trắng nào bạn muốn. Chuỗi chỉ chứa một giá trị và ví dụ: chạy các lệnh sau tại dấu nhắc Redis để đặt giá trị cho một vài khóa
127.0.0.1:6379> set full_name "John Doe"
127.0.0.1:6379> set units 5
Bây giờ bạn có thể liệt kê tất cả các khóa hiện có trong cơ sở dữ liệu Redis bằng lệnh keys
127.0.0.1:6379> keys *
Thao tác này sẽ hiển thị hai khóa mà bạn đã đặt trước đó, họ_tên và đơn vị. Bạn có thể thấy giá trị của các khóa này bằng lệnh get
127.0.0.1:6379> get full_name
"John Doe"
127.0.0.1:6379> get units
5
Việc xóa các phím có thể dễ dàng được thực hiện bằng lệnh del
127.0.0.1:6379> del full_name
Cũng có thể tăng nhanh một số nguyên bằng lệnh hincrby. Sau đây sẽ tăng phím "đơn vị" từ 5 lên 7
________số 8Liệt kê các lệnh
Danh sách trong Redis là mảng một chiều với một thứ tự cụ thể và cho phép các mục trùng lặp trong các vị trí khác nhau của danh sách. Các mục có thể được thêm vào bên trái hoặc bên phải của danh sách bằng các lệnh lpush và rpush
127.0.0.1:6379> lpush colors blue
127.0.0.1:6379> rpush colors red yellow green
Như bạn có thể thấy từ ví dụ trên, bạn có thể đẩy nhiều mục vào danh sách trong một lệnh. Bây giờ chúng ta có thể xem tất cả các mục trong danh sách bằng cách sử dụng lệnh lrange
redis-cli --version
0Có hai số nguyên ở cuối lệnh, số nguyên đầu tiên xác định vị trí bắt đầu trong danh sách và số thứ hai là số mục cần trả về với -1 nghĩa là tất cả các mục. Kết quả của lệnh trên sẽ là xanh lam, đỏ, vàng, xanh lục
Bạn cũng có thể xóa các mục ở cuối danh sách bằng lệnh lpop và rpop
redis-cli --version
1Bạn cũng có thể lấy số phần tử trong danh sách bằng lệnh llen
redis-cli --version
2Cuối cùng, bạn có thể xóa một phần tử khỏi danh sách thông qua lệnh lrem
redis-cli --version
3Lệnh lrem bắt đầu bằng tên danh sách, theo sau là số lần xuất hiện cần xóa và tên của phần tử cần xóa. Nó sẽ trả về số lần xuất hiện được tìm thấy và xóa khỏi danh sách
Lệnh băm
Một trong những loại dữ liệu phổ biến nhất trong Redis là hash, cho phép bạn lưu trữ nhiều cặp khóa-giá trị trong một mục nhập. Khóa không cần phải tồn tại và bạn xác định các cặp khóa-giá trị bất kỳ lúc nào bằng lệnh hset
redis-cli --version
4Bạn cũng có thể xác định nhiều cặp khóa-giá trị của hàm băm trong một lệnh bằng cách sử dụng lệnh hmset
redis-cli --version
5Hàm băm được xác định bởi người dùng chính. 581 hiện có tổng cộng bốn cặp khóa-giá trị, tất cả đều có thể được truy xuất dễ dàng bằng lệnh hgetall
redis-cli --version
6Bạn cũng có thể lấy giá trị của một cặp khóa-giá trị trong một hàm băm bằng cách sử dụng lệnh get
redis-cli --version
7Đối với bất kỳ số nguyên nào trong hàm băm, bạn có thể tăng chúng theo một lượng xác định bằng lệnh mã hincrby
redis-cli --version
8Giá trị của khóa điểm trong hàm băm hiện đã được tăng từ 20 lên 520. Một cặp khóa-giá trị trong hàm băm có thể bị xóa bằng lệnh hdel
redis-cli --version
9Ngoài ra, bạn cũng có thể xóa hoàn toàn một hàm băm bao gồm tất cả các cặp khóa-giá trị bằng cách sử dụng lệnh del
redis-cli
0Khóa Redis hết hạn
Một tính năng tuyệt vời khác của Redis là khả năng tự động hết hạn các khóa sau một số giây xác định bằng cách sử dụng lệnh hết hạn. Xin lưu ý, bạn chỉ có thể hết hạn các khóa đầy đủ chứ không phải các phần tử đơn lẻ trong danh sách hoặc hàm băm. Ví dụ
redis-cli
1Điều này sẽ đặt thời gian hết hạn là 10 giây cho khóa full_name mà bạn đã tạo trong phần chuỗi. Sau khi chạy lệnh trên, đợi 10 giây rồi thử truy xuất lại giá trị của khóa
redis-cli
2Như mong đợi, khóa hiện đã hết hạn do đó chúng tôi nhận được kết quả là null
Kết nối Redis với PHP
Bây giờ bạn đã học những kiến thức cơ bản về cách lưu trữ và truy xuất dữ liệu bằng Redis, đã đến lúc kết nối nó với phần mềm của bạn. Tất cả các ngôn ngữ lập trình đều có các mô-đun/phần mở rộng cho Redis, nhưng trong ví dụ này, chúng tôi sẽ sử dụng PHP
Trước tiên, bạn phải cài đặt tiện ích mở rộng PHP-Redis vì nó không được cài đặt theo mặc định. Trong terminal, chạy lệnh
redis-cli
3Sau khi cài đặt, đảm bảo khởi động lại PHP-fpm để tiện ích mở rộng được tải đúng cách. Đây là một số mã PHP kết nối và giao diện với Redis
redis-cli
4Mã ví dụ trên phải khá đơn giản. Đầu tiên, nó kết nối với Redis với thời gian chờ là 5 giây, sau đó tiến hành thiết lập và nhận chuỗi và hàm băm. Tất cả các lệnh Redis có thể được thực hiện thông qua OOP bằng cách gọi chúng trực tiếp từ đối tượng Redis như ví dụ ở trên
Bạn đang trên con đường của bạn
Xin chúc mừng, bạn đã học được những kiến thức cơ bản về cách lưu trữ và truy xuất dữ liệu với tốc độ cực nhanh thông qua công cụ lưu trữ Redis, bao gồm cách kết nối và giao diện với Redis bằng PHP
Xin lưu ý, bài viết này chỉ đề cập đến những điều cơ bản nhất và trang Kiểu dữ liệu Redis của tài liệu là một nơi tuyệt vời để tiếp tục khám phá Redis và tất cả chức năng của nó