Автор Тема: уникальное имя файла  (Прочитано 3642 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
уникальное имя файла
« : 30 Июля 2001, 10:07:13 »
Люди, кто знает – ответьте пожалуйста.
Есть форум, работает без БД. Каждое сообщение храниться в файле, в имени которого есть возвращаемая microtime время в микросекундах. Вопрос: можно ли рассчитывать, что это имя уникально и не возникнет «накладки» ?

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
уникальное имя файла
« Ответ #1 : 30 Июля 2001, 10:33:37 »
Цитировать
Foshvad (30-07-2001 10:07):
Люди, кто знает – ответьте пожалуйста.
Есть форум, работает без БД. Каждое сообщение храниться в файле, в имени которого есть возвращаемая microtime время в микросекундах. Вопрос: можно ли рассчитывать, что это имя уникально и не возникнет «накладки» ?

нет.
можно снизить вероятность накладки проверяя конструкцией while наличие такого файла - если есть, соответственно снова вычислять имя файла
ну, будем исповедоваться?

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
уникальное имя файла
« Ответ #2 : 30 Июля 2001, 12:19:46 »
Гораздо проще иметь один файлик, где будут храниться имена файлов (тех, которыедолжны быть уникальными). Например:
1
2
3
4
...
n

А когда нужно создать новый файл, просто делается n+1 и таким числом, например, обзывается файлик. Не нужно по диску елозить и со временем возиться. :-)
С наилучшими пожеланиями. LODEVAR

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
уникальное имя файла
« Ответ #3 : 30 Июля 2001, 12:24:48 »
А как сюда "всунуть" новое сообщение? Кроме того в этом случае прийдется с проблемным flock\'ом возиться :(

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
уникальное имя файла
« Ответ #4 : 30 Июля 2001, 12:37:25 »
Цитировать
Foshvad (30-07-2001 12:24):
А как сюда "всунуть" новое сообщение? Кроме того в этом случае прийдется с проблемным flock\'ом возиться :(
Куда "сюда"?
Почему проблемный?
Если форум не шипко загруженный, то все будет путем, а если загруженный, то он быстро загнется, если каждый раз будет диск чесать...
С наилучшими пожеланиями. LODEVAR

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
уникальное имя файла
« Ответ #5 : 30 Июля 2001, 12:45:45 »
Цитировать
lodevar (30-07-2001 12:37):
Почему проблемный?
дык на виндах то не пашет

Цитировать
Если форум не шипко загруженный, то все будет путем, а если загруженный, то он быстро загнется, если каждый раз будет диск чесать...
а что ему еще то чесать??? есть какието другие варианты постоянного хранения информации на РС, кроме как на HDD? ;)

кстати, вот интересно. почему считается, что при получении информации об именах файлов тратится ну оочень много системных ресурсов. у кого есть ссылки на тесты - киньте плиз
ну, будем исповедоваться?

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
уникальное имя файла
« Ответ #6 : 30 Июля 2001, 13:04:30 »
Цитировать
AliMamed (30-07-2001 12:45):
Цитировать
дык на виндах то не пашет
Пардон, не знал, что у него форум на виндах стоит...
Цитировать
а что ему еще то чесать??? есть какието другие варианты постоянного хранения информации на РС, кроме как на HDD? ;)
Да в общем нет... Пускай чешет, но если можно избежать ненужных действий - лучше избежать.
Цитировать
кстати, вот интересно. почему считается, что при получении информации об именах файлов тратится ну оочень много системных ресурсов. у кого есть ссылки на тесты - киньте плиз
Ну почему "оочень много"? Не оочень, но и тех жалко, если можно обойтись без чесания...
С наилучшими пожеланиями. LODEVAR

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
уникальное имя файла
« Ответ #7 : 30 Июля 2001, 13:14:18 »
Цитировать
lodevar (30-07-2001 13:04):
Пардон, не знал, что у него форум на виндах стоит...
я тоже не знаю =)
Цитировать
Да в общем нет... Пускай чешет, но если можно избежать ненужных действий - лучше избежать.
не ну все равно же чесать ХДД придется - либо один файл читать, получать из него информацию о названиях других. либо чесать ХДД через мускуль.

Цитировать
Ну почему "оочень много"? Не оочень, но и тех жалко, если можно обойтись без чесания...
да вот я как раз к тому, что без чесания никак не получается =)

все равно хорошему форуму нужен мускуль сзади.
ну, будем исповедоваться?

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
уникальное имя файла
« Ответ #8 : 30 Июля 2001, 13:56:50 »
Цитировать
AliMamed (30-07-2001 13:14):
все равно хорошему форуму нужен мускуль сзади.
Вот на этом, наверное, и закончим... Если никто не против... ;-)
С наилучшими пожеланиями. LODEVAR

  • Гость
уникальное имя файла
« Ответ #9 : 30 Июля 2001, 15:13:07 »
Цитировать
Foshvad (30-07-2001 10:07):
Люди, кто знает – ответьте пожалуйста.
Есть форум, работает без БД. Каждое сообщение храниться в файле, в имени которого есть возвращаемая microtime время в микросекундах. Вопрос: можно ли рассчитывать, что это имя уникально и не возникнет «накладки» ?

А если использовать время + большое рандомное число?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28