Tôi muốn sử dụng gói hex {:redix, "~> 0.6.1"} trong ứng dụng trò chuyện của mình và khởi chạy nó trong cây giám sát
{:ok, conn} = Redix.start_link()
{:ok, conn} = Redix.start_link(máy chủ: "example.com", cổng: 5000)
{:ok, conn} = Redix.start_link("redis://localhost:6379/3", name: :redix)
Redix.command(conn, ["SET", "mykey", "foo"])
Nhưng khi tôi cố gắng đặt liên kết bắt đầu kết nối vào tiến trình con thì nó báo lỗi
trẻ em = [
# Khởi động kho Ecto
người giám sát(PhoenixChat.Repo, []),
# Bắt đầu endpoint khi ứng dụng khởi động
người giám sát(PhoenixChat.Endpoint, []),
# Bắt đầu nhân viên của riêng bạn bằng cách gọi: PhoenixChat.Worker.start_link(arg1, arg2, arg3)
# công nhân(PhoenixChat.Worker, [arg1, arg2, arg3]),
người giám sát(PhoenixChat.Presence, []),
#supervisor(Phoenix.PubSub.Redis, [:chat_pubsub, máy chủ: "127.0.0.1"])
]
Làm cách nào để bắt đầu kết nối redix và lưu trữ dữ liệu vào Redis?
Những gì bạn phải làm làĐăng ký
id quá trình Để làm điều này, bạn thường chỉ định tên của nó trong opts, như thế này:
worker(Redix, [[], [tên: RedixConnection]])
Khi đăng ký một quy trình, bạn thường có thể sử dụng tên của nó thay vì PID của nó (luôn kiểm tra tài liệu, nhưng đây là mẫu phổ biến), như sau:
Redix.command(RedixConnection, ["PING"])
Hầu hết thời gian một kết nối là không đủ. Bạn có thể muốn sử dụng một số loại cơ chế tổng hợp, như cậu bé bơi lội
. documentationCác trang bên trong được sắp xếp gọn gàng để bạn đọc, đây gọi là Cách sử dụng trong thế giới thực
. Nó có thể sẽ trả lời hầu hết các câu hỏi liên quan đến chủ đề này.
Ngoài ra, vui lòng cân nhắc sử dụng giải pháp tích hợp Erlang/Elixir cho vấn đề của bạn. Tôi không biết trường hợp sử dụng chính xác của bạn nhưng bạn có thể muốn xem ETS, DTS và Mnesia.
Về redis - Cách chạy Redix trong cây được giám sát của ứng dụng trò chuyện thuốc tiên phượng hoàng và truy cập nó từ các mô-đun khác nhau, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/45230221/
Tôi là một lập trình viên xuất sắc, rất giỏi!