ServiceStack's C # Redis Client là một C # Client đơn giản, hiệu suất cao và giàu tính năng dành cho Redis với hỗ trợ gốc và các bản tóm tắt cấp cao để tuần tự hóa POCO và các loại phức tạp.
Có một số API khác nhau có sẵn với RedisClient
triển khai các giao diện sau:
- Nhà cung cấp bộ nhớ đệm - Nếu bạn chỉ sử dụng Redis làm bộ nhớ đệm, bạn nên liên kết với giao diện chung của ServiceStack vì đã có triển khai In-Memory một Memcached có sẵn trong ServiceStack, cho phép bạn dễ dàng chuyển đổi nhà cung cấp
- IRedisNativeClient / Async - Đối với những người muốn truy cập byte thô cấp thấp (nơi bạn có thể kiểm soát tuần tự hóa / giải mã hóa của riêng mình) ánh xạ 1:1 với các hoạt động cùng tên của Redis.
Đối với hầu hết các trường hợp, nếu bạn yêu cầu quyền truy cập vào chức năng cụ thể của Redis, bạn muốn liên kết với giao diện bên dưới:
- IRedisClient / Async - Cung cấp một API mô tả thân thiện hơn, cho phép bạn lưu trữ các giá trị dưới dạng chuỗi (mã hóa UTF8).
- Các API ứng dụng khách chung của Redis - được tạo bằng
redis.As<T>()
- trả về 'ứng dụng được gõ mạnh' cung cấp giao diện được định kiểu cho tất cả các hoạt động giá trị redis hoạt động dựa trên bất kỳ loại C # /. NET POCO nào.
Các giao diện hoạt động rõ ràng với bất kỳ IOC nào và cho phép logic ứng dụng của bạn liên kết với các giao diện không có triển khai có thể dễ dàng bị chế nhạo và thay thế.
Tổng quan về phân cấp lớp cho các máy khách C # Redis trông như sau:
RedisTypedClient (POCO) > RedisClient (string) > RedisNativeClient (raw byte[])
Với mỗi khách hàng cung cấp các lớp trừu tượng khác nhau:
- RedisNativeClient để lộ
byte[]
thô apis và không sắp xếp và chuyển trực tiếp tất cả các giá trị đến redis. - RedisClient giả định
string
và chỉ cần chuyển đổi chuỗi thành byte UTF8 trước khi gửi tới Redis - RedisTypedClient cung cấp một giao diện chung cho phép bạn thêm các giá trị POCO. POCO được tuần tự hóa bằng ServiceStack.Text, sau đó được chuyển đổi thành UTF8 byte và được gửi tới Redis.
Tổng quan về API #