Кто-нибудь знает кого-нибудь, работающего с поставщиком LINQ-to-Memcached? - PullRequest
5 голосов
/ 28 октября 2008

как заголовок. Я не нашел ни одного через Google, во всяком случае.

Обновление: спасибо за ссылки из двух ответов; это очень полезно, но не то, что мне было нужно - мне любопытно посмотреть, возможно ли запросить IRepository, поддерживаемый memcached (или каким-либо другим распределенным кешем), поддерживаемый RDBMS. Я действительно понятия не имею, как это может работать на практике; Я не очень разбираюсь во внутренних функциях распределенных кэшей или поставщиков LINQ.

Возможно, я предполагаю что-то вроде провайдера LINQ кеша, генерирующего ключи кеша автоматически на основе запроса (где запрос может быть Expression> или какая-то реализация шаблона спецификаций), и в основном может быть добавлен между моим приложением и моим DB. Это звучит полезно?

Ответы [ 4 ]

1 голос
/ 09 декабря 2008

Я не знаю, если это то, что вы хотите, вы можете проверить на этом сайте . Там вы можете запросить Memcached, а также запрос linq к объекту.

   public static IEnumerable<User> GetAllUsers()  
   {  
       // Retrieve from cache if it exists, otherwise run the query  
       return (from u in ctx.Users select u).CachedQuery("allusers");  
   }  

Это то, что вы хотите?

Вот исходный код

public static IEnumerable<T> CachedQuery<T>
        (this IQueryable<T> query, string key) where T : class
{
    if (cache.KeyExists(key))
    {
        return (IEnumerable<T>)cache.Get(key);
    }
    else
    {
        IEnumerable<T> items = query.ToList();
        cache.Set(key, items);
        return items;
    }
}
1 голос
/ 09 декабря 2008

Поскольку я не знал, что такое memcached, я погуглил и нашел эту ссылку:

http://latebound.blogspot.com/2008/10/using-memcached-from-c.html

В нижней части которого есть раздел об использовании LINQ-запросов к memcached.

1 голос
/ 28 октября 2008

Если вы не возражаете бросить между ними NHibernate , вы можете использовать LINQ to NHibernate для запроса сущностей, для которых можно установить для использования memcached как их кеш.

0 голосов
/ 23 января 2010

Я также столкнулся с некоторой проблемой с linq для memcached. Но вы должны проверить сериализацию вашего linq DBML, независимо от того, является ли он однонаправленным или нет.

вам может повезти с этим решением, которое стоит попробовать. У меня проблемы с linq, но другие объекты с атрибутом [Serilizable] работают нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...