Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Ứng dụng khách C # /. NET cho Redis

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 #


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. node.js lưu trữ các đối tượng trong redis

  2. Có cách nào để làm việc với các phiên mà không bị khóa trên trang ASP.Net MVC không?

  3. DisabledBackend:Hành vi bất thường với Celery, Redis &Flask

  4. Làm cách nào để lấy giá trị từ Redis và đặt nó vào một biến trong NGiNX?

  5. Redis:ZADD có tốt hơn O (logN) khi phần tử được chèn ở đầu hay cuối không?