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

Đây có phải là cách sử dụng hợp lệ của ServiceStack Redis không?

Trên thực tế khi bạn sử dụng PersonClient.Lists["urn:names:current"] bạn thực sự đang lưu trữ một tham chiếu đến một Kết nối RedisClient không an toàn cho chuỗi. Sẽ ổn nếu nó trong ứng dụng GUI hoặc Console, nhưng không lý tưởng trong ứng dụng web đa luồng. Trong hầu hết các tình huống, bạn muốn sử dụng nhà máy sản xuất kết nối an toàn luồng, tức là

var redisManager = new PooledRedisClientManager("localhost:6379");

Hoạt động rất giống một nhóm kết nối cơ sở dữ liệu. Vì vậy, bất cứ khi nào bạn muốn truy cập RedisClient sẽ hoạt động như:

using (var redis = redisManager.GetClient())
{
    var allItems = redis.As<Person>().Lists["urn:names:current"].GetAll();
}

Lưu ý:.As<T> là một bí danh ngắn hơn cho .GetTypedClient<T> Một lối tắt thuận tiện khác để thực thi một ứng dụng khách đã nhập từ redisManager là:

var allItems = redisManager.ExecAs<Person>(r => r.Lists["urn:names:current"].GetAll());

Tôi thường thích chuyển khoảng IRedisClientsManager trong mã của tôi để nó không giữ kết nối RedisClient nhưng có thể truy cập nó bất cứ khi nào nó cần.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis 6 có thể tận dụng lợi thế của CPU đa nhân không?

  2. Thiết lập Redis trên Web hài lòng

  3. Pizza Tribes - Trò chơi chiến lược thời gian thực dựa trên trình duyệt nhiều người chơi

  4. Vẽ tên các quốc gia trên bản đồ bằng Node js và D3 trong thời gian thực

  5. Làm thế nào để chuyển đổi Redis date trong R