X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

> Массив категорий PHP
fahrenheit
fahrenheit
Topic Starter сообщение 23.2.2016, 19:57; Ответить: fahrenheit
Сообщение #1


Здравствуйте.
Есть таблица категорий. Эти самые категории используются с проекте в разных целях:
1. Вывод категорий и подкатегорий в качестве меню навигации
2. Вывод дерева категорий списка публикаций или публикации отдельно
3. и много много разных мелких назначений, необходимых для гибкой структуры сайта.

Для удобного использования и данных категорий, создал массив этих самых категорий, который позволяет в нужном месте получить данные категории и подкатегории, имея тот или иной параметр (ID категории, alt_name или ID родителя).
Код
    $sql_result = $db->query('SELECT * FROM w_blog_category ORDER BY position ASC');
    while($categories = $db->get_row($sql_result)){
        $cat_name_array[$categories['alt_name']] = $categories;
        $cat_parent_array[$categories['parentid']] = $categories;
        $cats_array[$categories['id']] = $categories;
    }
    $db->free();


Все это прекрасно работает, но ведь каждый раз обращаться в БД для построения такого рода массива - большая нагрузка на БД. Соответственно, массив можно сохранять в кэше и вызывать данные из файла, вместо БД.
Но из-за недостатка практических знаний в данной отрасли, возник вопрос: как будет работать эта схема и как она отразиться на производительности проекта, если категорий будет очень много? Одно дело, если категорий штук 100. А если их более тысячи? Например, реализация структуры областей/городов/поселков таким образом...

Сильно ли повлияет на производительность системы, если использовать такие массивы? Заранее благодарю за ответы.


--------------------
Всё о Need For Speed
1
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
 
Открыть тему
Ответов (1 - 3)
Alexandr_js
Alexandr_js
сообщение 24.2.2016, 2:04; Ответить: Alexandr_js
Сообщение #2


fahrenheit, судя по всему это dle??
Если да то там есть решение на апи для кеша.

Код
$dle_api->load_from_cache( "имя в ковычках", 100);
100 -время жизни кеша в секундах

$dle_api->save_to_cache ( "имя в ковычках", $array);
$array - массив данных который нужно сохранить


Сообщение отредактировал Alexandr_js - 24.2.2016, 2:06


--------------------
Забанен за мошенничество
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ArtNar
ArtNar
сообщение 24.2.2016, 2:56; Ответить: ArtNar
Сообщение #3


file_put_contents($file_name, serialize($array));

unserialize(file_get_contents($file_name));


--------------------
Я монетизирую сайты тут, выплаты по запросу (хоть каждый день).
Гарантия индексации ваших сайтов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 24.2.2016, 11:20; Ответить: x64
Сообщение #4


Это как раз не нагрузка. Нагрузка будет при дополнительных запросах в цикле.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужна ли плоская структура категорий в ИМ?
1 noviktamw 1171 26.3.2024, 21:50
автор: c4p1t4l15t
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3400 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1242 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44907 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1889 26.5.2023, 20:48
автор: Mixatraider


 



RSS Текстовая версия Сейчас: 19.4.2024, 23:48
Дизайн