| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > shmop_open |
| Автор: RinatR 30.11.2010, 00:11 | ||
| Здраствуйте! В php вроде как есть возможность загружать необходимую инфу в оперативную память. Вроде все понятно, но справки и примеров как кот налакал. Есть что-то вроде такого (из примера на php.net)
Вопрос про первый параметр (0xff3). Как я понимю, здесь должно быть какое-либо уникальное значение? Это что-то вроде ключа Так? Или оно откуда-то берется? Если да, то как мне возможно мою строку (например строка - это название файла item.htm) превратить в такой вот вид? |
| Автор: gta4kv 30.11.2010, 12:51 |
| http://ru.php.net/shmop_open |
| Автор: RinatR 30.11.2010, 13:15 |
| Было бы глупо, если бы я там не смотрел. Больше интересует вторая часть вопроса. Как возможно превратить строку в такой параметр, чтобы он был уникальным? Там предлагается делать ftok'ом, но этот вариант не подойдет ибо: 1) У меня винда, на которой этот товарищ не работает 2) ftok, как я понимаю обращается к файлу, и получает что-то из него. Тогда смысл теряется, ибо это совсем будет не быстро. |
| Автор: gta4kv 30.11.2010, 13:27 | ||
|
| Автор: RinatR 30.11.2010, 13:36 | ||||
Функция stat подразумевает оборащение к файлу.
Вот мой пример (кеширование файлов в оперативной памяти)
Если ftok будет обращатся к этим файлам из свойств файла гененрировать ключи только для того, чтобы потом прочесть все это дело из оперативной памяти... то смысла нету. |
| Автор: ksnk 30.11.2010, 13:47 |
| RinatR, функция stat лезет не в файл, а в запись о файле в файловой системе, что существено быстрее, так как в обычных системах эта информация и так в памяти. |
| Автор: gta4kv 30.11.2010, 14:00 |
| Поставьте memcahced |
| Автор: RinatR 30.11.2010, 14:01 | ||||||||
| Чего-то я не уверен, что вышеописаный способ гененрирует уникальные ключи. После старта вот такая ерунда:
Вот чё получается:
если присмотрется внимательно, то можно увидеть следующую тенденцию:
gta4kv: - Здраствуйте, скажите пожалуйста, у этой булочки помимо орехов, что внутри? - Возьмите лучше торт! Тоже самое получается... короче игрался я и с memcached, пока совсем не впечатлил. |
| Автор: gta4kv 30.11.2010, 14:49 | ||
Значит, вы не умеете его готовить. Давайте пойдем по другому - в чём задача вообще? На самом ли деле нужно использование оперативной памяти для этой цели... |
| Автор: RinatR 30.11.2010, 15:00 |
| Да, нужно. Тот же file_get_contens работает на порядок дольше. Не хотелось уводить тему в другое русло, таки но офтоп: C memcache можеть что-то и не так сделал, но этот вопрос я задам в другой теме все же. Сейчас, я просто пробую различные способы кеширования (будь то memcache, shmop, APC и др.). Хотел сравнить. Пока shmop быстрее работает. |
| Автор: gta4kv 30.11.2010, 15:02 | ||
^^^ |
| Автор: RinatR 30.11.2010, 15:12 |
| Задача: Кеширование php файлов в оперативной памяти и последующий доступ к ним. |
| Автор: gta4kv 30.11.2010, 16:05 |
| Зачем? |
| Автор: RinatR 30.11.2010, 22:18 |
| Чего работает быстрее? К жесткий диск или к оперативная память? |
| Автор: gta4kv 30.11.2010, 22:48 |
| Ответ очевиден. Но, я сомневаюсь, в том масштабе, при котором это начинает быть заметным. |
| Автор: RinatR 2.12.2010, 20:33 | ||
| А я нет. Короче ля ля ля ля, а толку 0 Вот хороший пример, от Yoshi генерации более менее уникального ключа, за что ему огромный респект.
|