Как преобразовать из интервала для строкового представления в цели c: пример кода

Я отвечаю за некоторые приложения, которые управляют многими ТБ изображений. Мы нашли что, храня пути к файлам в базе данных, чтобы быть лучшими.

существует несколько проблем:

  • устройство хранения данных базы данных является обычно более дорогим, чем устройство хранения данных файловой системы
  • , можно суперускорить доступ к файловой системе со стандартом от продуктов полки
    • , например, много веб-серверов используют операционную систему sendfile () системный вызов для асинхронной отправки файла непосредственно с файловой системы на сетевой интерфейс. Изображения, сохраненные в базе данных, не извлекают выгоду из этой оптимизации.
  • вещи как веб-серверы, и т.д., не нуждаются ни в каком специальном кодировании или обработке для доступа к изображениям в файловой системе
  • , базы данных побеждают, где целостность транзакций между изображением и метаданными важна.
    • это более сложно для управления целостностью между метаданными дб и данными файловой системы
    • , трудно (в контексте веб-приложения) гарантировать, что данные были сброшены к диску в файловой системе
72
задан john 9 July 2009 в 15:53
поделиться

2 ответа

Закомментированная версия - более правильный способ сделать это.

Если вы используете оператор == для строк, вы сравниваете адреса строк (где они размещены в памяти), а не значения строк. Это бывает очень полезно (это означает, что у вас точно такой же строковый объект), но в 99% случаев вы хотите сравнить значения, что вам нравится:

if([myT isEqualToString:@"10"] || [myT isEqualToString:@"11"] || [myT isEqualToString:@"12"])
32
ответ дан 24 November 2019 в 12:26
поделиться

== не следует использовать для сравнения объектов в вашем if . Для NSString используйте isEqualToString: , чтобы сравнить их.

12
ответ дан 24 November 2019 в 12:26
поделиться
Другие вопросы по тегам:

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