Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поможет ли кэширование
|
|||
|---|---|---|---|
|
#18+
Добрый день. Вопрос такой, у меня динамически строиться TreeView при этом данные получаю из базы примерно так: void TreeLoad() { GridView gv = new GridView(); SqlDataSource1.Update(); gv.DataSource = SqlDataSource1; gv.DataBind(); int KolComplex = gv.Rows.Count; TreeNode[] Complexes = new TreeNode[KolComplex]; TreeNode[] Mines = new TreeNode[1000]; TreeNode[] Types = new TreeNode[1000]; TreeNode[] Items = new TreeNode[10000]; for (int i = 0; i <= KolComplex - 1; i++) { Complexes[i] = new TreeNode(); Complexes[i].Text = gv.Rows[i].Cells[0].Text; Complexes[i].NavigateUrl = "ReportComplex.aspx?Comp=" + Complexes[i].Text + "&Year=" + Label1.Text; Complexes[i].Target = "Mine"; TreeView1.Nodes.Add(Complexes[i]); ... ... ... и вот так четыре вложенных цикла, все работает но дерево строиться долго, так вот здесь собственно и вопрос, а если данные из SqlDataSource в кэш ложить, а затем из него уже дерево строить, будет оно быстрее строиться или нет? И вот беда, я с кэшем никогда не работал, был бы вечно благодарен за маленький примерчик, как положить в него данные, а затем забратью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 12:23 |
|
||
|
Поможет ли кэширование
|
|||
|---|---|---|---|
|
#18+
Добрый день. Вопрос такой, у меня динамически строиться TreeView при этом данные получаю из базы примерно так: void TreeLoad() { GridView gv = new GridView(); SqlDataSource1.Update(); gv.DataSource = SqlDataSource1; gv.DataBind(); int KolComplex = gv.Rows.Count; TreeNode[] Complexes = new TreeNode[KolComplex]; TreeNode[] Mines = new TreeNode[1000]; TreeNode[] Types = new TreeNode[1000]; TreeNode[] Items = new TreeNode[10000]; for (int i = 0; i <= KolComplex - 1; i++) { Complexes[i] = new TreeNode(); Complexes[i].Text = gv.Rows[i].Cells[0].Text; Complexes[i].NavigateUrl = "ReportComplex.aspx?Comp=" + Complexes[i].Text + "&Year=" + Label1.Text; Complexes[i].Target = "Mine"; TreeView1.Nodes.Add(Complexes[i]); ... ... ... и вот так четыре вложенных цикла, все работает но дерево строиться долго, так вот здесь собственно и вопрос, а если данные из SqlDataSource в кэш ложить, а затем из него уже дерево строить, будет оно быстрее строиться или нет? И вот беда, я с кэшем никогда не работал, был бы вечно благодарен за маленький примерчик, как положить в него данные, а затем забратью Кэширование конечно поможет, но прочитай вот эту статью! Я реализовал подобным образом мне очень нравится как работает! По поводу кэширования: Нужно быть достаточно осторожным и быть уверенным, что данные не меняются, и всем клиентам необходимо одно и тоже. пример: кладем (например DataSet): if (Cache("TreeTest")!=null) { DataSet ds = new DataSet(); ... //далее заполняем его из базы. Cache.Insert("TreeTest",ds); } Берем соответсвенно: DataSet ds = (DataSet)Cache["TreeTest"]; Где-то примерно так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 15:46 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=920&tid=1391218]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 325ms |

| 0 / 0 |
