3 ứng dụng khách Redis hàng đầu dành cho nhà phát triển Go
Redis là một kho lưu trữ cấu trúc dữ liệu trong bộ nhớ, được sử dụng rộng rãi để lưu vào bộ nhớ đệm, phân tích thời gian thực và môi giới tin nhắn. Đó là một lựa chọn phổ biến cho các nhà phát triển vì tốc độ nhanh như chớp và bộ tính năng phong phú.
Redis hỗ trợ nhiều cấu trúc dữ liệu bao gồm chuỗi, hàm băm, danh sách, tập hợp và tập hợp được sắp xếp. Nó cũng cung cấp hỗ trợ nhắn tin xuất bản/đăng ký tích hợp, hỗ trợ giao dịch và tập lệnh Lua.
Có một số ứng dụng khách Redis phổ biến dành cho nhà phát triển Go, mỗi ứng dụng có các tính năng và chức năng độc đáo. Ba ứng dụng khách Redis sau đây là phổ biến nhất trong số các nhà phát triển Go.
Mục Lục
1. Gói go-redis
Gói go-redis là một thư viện máy khách Go phổ biến cho cơ sở dữ liệu Redis. Nó cung cấp một API đơn giản, dễ sử dụng để tương tác với Redis và gói hỗ trợ tất cả các lệnh Redis.
Gói go-redis phổ biến đối với các nhà phát triển Go do hiệu suất, độ tin cậy và giao diện dễ sử dụng của nó. Bạn sẽ thấy gói này hữu ích cho các chức năng từ quản lý phiên đến bộ nhớ đệm, xếp hàng đợi tin nhắn, v.v.
Chạy lệnh này trong thiết bị đầu cuối của thư mục dự án của bạn để cài đặt gói go-redis.
go get github.com/go-redis/redis
Đây là cách bạn có thể nhập gói go-redis vào dự án của mình.
import (
"fmt"
"github.com/go-redis/redis"
)
Tạo một kết nối mới tới cơ sở dữ liệu Redis bằng gói go-redis thật dễ dàng. Bạn sẽ sử dụng Khách hàng mới phương pháp của làm lại gói, chấp nhận Tùy chọn struct chứa các chi tiết cấu hình.
func main() {
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: " ",
})
}
bên trong chủ yếu chức năng, các khách hàng biến là phiên bản kết nối máy khách Redis. Bạn có thể khởi tạo Tùy chọn cấu trúc với địa chỉ và Mật khẩu các trường chứa địa chỉ cơ sở dữ liệu và mật khẩu tương ứng.
Khi tạo một phiên bản máy khách Redis, bạn có thể ping cơ sở dữ liệu để xác minh kết nối của mình với Bình phương pháp. Bạn có thể dùng Kết quả trên phương thức Ping, trả về trạng thái và lỗi.
pong, err := client.Ping().Result()if err != nil {
fmt.Println(err)
return
}
fmt.Println(pong, err)
Bạn có thể thêm một cặp khóa-giá trị vào cơ sở dữ liệu của mình bằng Bố trí phương pháp của phiên bản khách hàng của bạn. Sử dụng sai phương thức trên một thao tác trả về một lỗi mà bạn có thể xử lý.
err = client.Set("key", "value", 0).Err()if err != nil {
fmt.Println(err)
return
}
Bạn có thể truy xuất một giá trị từ cơ sở dữ liệu bằng khóa bằng cách sử dụng Được phương pháp của phiên bản khách hàng của bạn. Sử dụng Kết quả phương thức trên một thao tác trả về kết quả của thao tác và một lỗi.
val, err := client.Get("key").Result()if err != nil {
fmt.Println(err)
return
}
fmt.Println("key", val)
2. Gói cơ số
Gói Radix là một thư viện cung cấp ứng dụng khách cho kho lưu trữ cấu trúc dữ liệu trong bộ nhớ Redis. Gói Radix trừu tượng hóa gói Redigo để cung cấp API dễ sử dụng để tương tác với Redis.
Gói Radix cung cấp hỗ trợ cho tất cả các lệnh Redis, bao gồm tập lệnh Lua và Pub/Sub, kết nối tổng hợp và kết nối lại tự động cho phép hoạt động hiệu quả và linh hoạt với Redis, hỗ trợ cho các cụm Redis bao gồm phân đoạn trong suốt và chuyển đổi dự phòng, đồng thời thiết kế nhẹ, hiệu quả cho phép cho độ trễ thấp và thông lượng cao.
Bạn sẽ thấy gói Radix rất hữu ích nếu bạn đang tìm cách thêm hỗ trợ Redis nhanh chóng vào các dự án Go của mình vì gói này trừu tượng hóa sự phức tạp cơ bản của giao thức Redis, giúp việc lưu vào bộ nhớ đệm, quản lý phiên và xếp hàng tin nhắn trở nên dễ dàng hơn.
Chạy lệnh này để cài đặt gói Radix phiên bản ba trong thư mục làm việc của dự án của bạn.
go get github.com/mediocregopher/radix/v3
Đây là cách bạn có thể nhập cơ số gói trong chương trình của bạn.
import (
"fmt"
"github.com/mediocregopher/radix/v3"
)
Bạn có thể dùng quay số phương pháp của cơ số gói để kết nối với máy chủ Redis. Các quay số phương thức chấp nhận loại kết nối và địa chỉ của máy chủ Redis và trả về một phiên bản kết nối và lỗi.
func main() {
conn, err := radix.Dial("tcp", "localhost:6379") if err != nil {
fmt.Println(err)
return
}
defer conn.Close()
}
Trong chức năng chính, bạn đã tạo một phiên bản kết nối Redis với quay số phương pháp và đóng kết nối với Đóng phương pháp và một hoãn lại tuyên bố.
Bạn có thể thực thi các lệnh Redis với Cmd phương pháp của cơ số bưu kiện. Các Cmd phương thức chấp nhận một giao diện, một lệnh và các giá trị của lệnh.
err = conn.Do(radix.Cmd(nil, "SET", "mykey", "myvalue"))if err != nil {
fmt.Println("Error setting key: ", err)
} else {
fmt.Println("Key set successfully")
}
Các Làm phương thức kèm theo thao tác và trả về lỗi.
Tương tự, bạn có thể truy xuất các giá trị từ cơ sở dữ liệu của mình bằng lệnh PhẳngCmd phương pháp. Các PhẳngCmd phương thức nhận tham chiếu đến một biến, lệnh và khóa.
var val string
err = conn.Do(radix.FlatCmd(&val, "GET", "mykey"))if err != nil {
fmt.Println("Error getting key: ", err)
} else {
fmt.Println("Value of mykey is", val)
}
Khi bạn chạy mã đó, bạn sẽ thấy kết quả tương tự như sau:
3. Gói Redigo
Gói Redigo là một thư viện ứng dụng khách Go phổ biến khác dành cho Redis. không giống cơ số và đi-rediscác làm lại gói là một ứng dụng khách nhẹ cung cấp giao diện đơn giản và hiệu quả để tương tác với Redis.
Một trong những điểm bán hàng của Redigo là hiệu suất của nó, mặc dù trọng lượng nhẹ. Redigo cung cấp API giống như bản in với sự hỗ trợ cho tất cả các lệnh Redis và gói này được sử dụng phổ biến cho đường ống, pub-sub, tổng hợp kết nối và các hoạt động khác.
Chạy lệnh đầu cuối này để cài đặt đỏ gói và bắt đầu.
go get github.com/gomodule/redigo/redis
Đây là cách bạn có thể nhập gói redigo vào tệp dự án của mình.
import (
"fmt"
"github.com/gomodule/redigo/redis"
)
Bạn có thể dùng quay số phương pháp của làm lại gói để kết nối với phiên bản cơ sở dữ liệu Redis. Phương thức Quay số nhận một loại kết nối và một địa chỉ và trả về phiên bản kết nối và một lỗi.
func main() {
conn, err := redis.Dial("tcp", "localhost:6379") if err != nil {
fmt.Println(err)
return
}
defer conn.Close()
}
bên trong chủ yếu chức năng, bạn đã kết nối với phiên bản cơ sở dữ liệu Redis đang chạy trên cổng 6379 và đóng kết nối với Đóng phương thức của trường hợp kết nối và một hoãn lại tuyên bố.
Bạn có thể thực hiện các thao tác Redis bằng cách sử dụng Làm phương thức kết nối của bạn. Phương thức Do trả về giao diện đầu ra và lỗi.
_, err = conn.Do("SET", "message", "hello")if err != nil {
fmt.Println(err)
return
}
Bạn có thể truy xuất đầu ra chuỗi của thao tác Redis với Chuỗi phương pháp của làm lại bưu kiện. Phương thức String nhận thực thể hoạt động và trả về giá trị cùng một lỗi.
value, err := redis.String(conn.Do("GET", "message"))if err != nil {
fmt.Println(err)
return
}
fmt.Println(value)
Bạn có thể sử dụng cơ sở dữ liệu SQL với Go
Có hỗ trợ cho các cơ sở dữ liệu phổ biến và kho lưu trữ dữ liệu trong hệ sinh thái Go. Go cung cấp gói cơ sở dữ liệu/sql như một phần của thư viện chuẩn để làm việc với cơ sở dữ liệu SQL.