Вы обязательно должны проверить мой клиент C # ServiceStack.Redis. Клиент предоставляет типизированный API, который может хранить любой тип и другие высокоуровневые функциональные возможности, например API обмена сообщениями строгого типа, поддержка транзакций, конвейерная обработка и т. Д.
Вот мини- клон Stack Overflow , созданный с ним, использующий только одну страницу C # :
Пример кода из Redis StackOverflow:
public User GetOrCreateUser(User user)
{
if (user.DisplayName.IsNullOrEmpty())
throw new ArgumentNullException("DisplayName");
var userIdAliasKey = "id:User:DisplayName:" + user.DisplayName.ToLower();
using (var redis = RedisManager.GetClient())
{
//Get a typed version of redis client that works with <User>
var redisUsers = redis.As<User>();
//Find user by DisplayName if exists
var userKey = redis.GetValue(userIdAliasKey);
if (userKey != null)
return redisUsers.GetValue(userKey);
//Generate Id for New User
if (user.Id == default(long))
user.Id = redisUsers.GetNextSequence();
redisUsers.Store(user);
//Save reference to User key using the DisplayName alias
redis.SetEntry(userIdAliasKey, user.CreateUrn());
return redisUsers.GetById(user.Id);
}
}