Какие-либо распределенные системы кэша, который допускает метки содержания?

Ничего себе, Никто не поднимает то, что при фактической покупке SQL-сервера в маркерах 5k Вы могли бы хотеть использовать его для больше, чем своего веб-приложения. Если Ваш экспресс использования, возможно, Вы не заботитесь. Я вижу SQL-серверы, выполненные Базы данных для 20 - 30 applicaitions, так помещая его на веб-сервер не были бы умны.

, Во-вторых, зависит от того, для кого сервер. Я действительно работаю на финансовые компании и правительство, Таким образом, мы используем сумасшедшую боль в подходе задницы использования только sprocs и ограничения портов от веб-сервера до SQL. Таким образом, если веб-приложение взламывается. Единственная вещь, которую может сделать хакер, назвать sprocs, поскольку учетная запись пользователя на веб-сервере заблокирована вниз, чтобы только видеть/называть sprocs на DB. Таким образом, теперь хакер должен выяснить, как войти в DB. Если на веб-сервере хорошо его довольно легкое для получения до.

5
задан PhilPursglove 6 September 2009 в 21:45
поделиться

3 ответа

Velocity поддерживает тегирование, когда каждый тег является строкой. Объекты могут быть извлечены с помощью тега или нескольких тегов, например, «Приправа» И «Бесплатная доставка».

Однако Velocity не поддерживает зависимости - IIRC команда Velocity заявила, что зависимости не будут в v1.

0
ответ дан 15 December 2019 в 06:31
поделиться

Я считаю, что удаление зависимых данных может быть выполнено с помощью операции cas (проверка и установка) memcached. Каждое значение имеет уникальный идентификатор (серийный). Для каждого ключа сохраните еще один key.dependents, который имеет серийный номер данных и ключи всех иждивенцев.

При добавлении зависимого, сделайте

dependents, dep_serial = fetch(key+".dependents")
data, serial = fetch(key)
if serial != dependents[0]:
    # somebody changed the actual data
    start_over
generate_and_cache_dependent(dep_key, data)
dependents.append(dep_key)
if not cas(dependents, dep_serial):
   # somebody changed dependents
   start_over # can avoid regenerating the data if they are still at serial

При аннулировании элемента сделайте

dependents, dep_serial = fetch(key + ".dependents")
serial = update(key, new_data)
for dkey in dependents[1:]:
    delete(dkey)
dependents = [serial]
if not cas(dependents, dep_serial):
    start_over

Even in при наличии конфликтующих операций записи эти алгоритмы в конечном итоге прекратят свою работу, так как один писатель всегда «проходит».

3
ответ дан 15 December 2019 в 06:31
поделиться

реализация зависимости довольно сложна, но, возможно, все другие функции Shared Cache ( http://www.sharedcache.com || http: // sharedcache .codeplex.com ) подойдет вам для кэширования.

С уважением, Рони

0
ответ дан 15 December 2019 в 06:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: