Фреймворки с использованием Redis - PullRequest
1 голос
/ 28 января 2011

Я хотел бы знать, существует ли какая-либо инфраструктура MVC, совместимая с Redis в качестве базы данных(Не только как хранилище данных для кэширования).

Спасибо

Ответы [ 6 ]

3 голосов
/ 08 июня 2011

+ 1 для Падрино.

Еще один отличный вариант - Монах . Он включает в себя Ом (на самом деле он написан некоторыми из тех же парней) и основан на Синатре. Начать действительно легко и очень гибко.

3 голосов
/ 28 января 2011

Я бы не ожидал, что какая-либо инфраструктура MVC будет привязана к базе данных. Ваша реализация модели обеспечит доступ к любому вспомогательному хранилищу (напрямую или через один или несколько уровней). Вам следует обратить внимание на клиентов , которые поддерживает Redis, с теми, с которыми вы сможете использовать платформы MVC на любой из клиентских платформ поддержки.

2 голосов
/ 28 января 2011

В Ruby вы можете использовать Ом в качестве ORM.Если вы хотите MVC Framework, его можно подключить к Padrino .

1 голос
/ 30 января 2011

Вы обязательно должны проверить мой клиент 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);
    }
}
1 голос
/ 28 января 2011

попытайтесь исследовать архитектуру cqrs с источником событий .И вы можете скачать пример этого с github . Это приложение Ruby on Rails с Redis DB

0 голосов
/ 30 января 2011

Grails имеет поддержку Redis в GORM через плагин Redis.Любой класс домена может храниться в Redis (или любом другом поддерживаемом хранилище nosql) вместо реляционной базы данных.

...