Веб-фронтэнд, кэширующий лучшие практики для сайта?

Это должно сработать для вас. Если вам нужна помощь в реализации этого, не стесняйтесь спрашивать:

Option Explicit
Sub TimesThirty()
    Dim LR As Long:     LR = Range("A" & Rows.Count).End(xlUp).Row
    Dim BR As Long:     BR = LR * Day(Application.EoMonth(Date, 1)) 'this way it will do it for the number of days of the current month
    Dim arrData As Variant, ws As Worksheet, x As Integer, i As Long, h As Long

    Set ws = ThisWorkbook.Sheets("Name") 'change name for the name of your sheet

    With ws
        x = .Cells(1, .Columns.Count).End(xlToLeft).Column 'last column on your sheet
        arrData = .Range(.Cells(1, 1), .Cells(BR, x)).Value

        'A loop through the array to copy the values except the Date which will go adding a day each loop
        For i = 1 To LR 'for every worker
            For h = 1 To Day(Application.EoMonth(Date, 1)) 'for every day of the month
                For x = 1 To UBound(arrData, 2) 'for every column
                    If x = 1 Then 'I'm assuming the Date is on the column 1, else change the value of x
                        arrData(LR + h, x) = DateSerial(Year(arrData(i, x)), Month(arrData(i, x)), h) 'Year, Month, Day
                    Else
                        arrData(LR + h, x) = arrData(i, x) 'copy the same value
                    End If
                Next x
            Next h
        Next i

        .Range(.Cells(1, 1), .Cells(BR, x)).Value = arrData 'Paste the array back to the sheet

    End With


End Sub
6
задан Jauder Ho 8 April 2009 в 09:35
поделиться

4 ответа

Я не знаю всего о кэшировании, но вот несколько советов:

Anon # 1,2: (статические, полудинамические элементы) Вы можете установить их, чтобы никогда не истек. Если вам нужно изменить их, измените их URL. Проверки If-Modified-Since дешевы, но не бесплатны.

Anon # 3: (динамические элементы) Вот где ETags и / или Last-Modified очень пригодятся. В зависимости от того, что вы обслуживаете, вы можете создать хороший Last-Modified заголовок. Если в вашей базе данных хранится измененная дата всех элементов, которые вы планировали показать, вы могли бы получить эффект SELECT MAX (last_updated) FROM items_to_show . Предостережение: Это учитывает возраст данных, а не возраст вашего шаблона, поэтому, если вы изменили свой Шаблон Django, вы будете в недоумении, как сообщить, что в header.

Или вы можете сделать что-то подобное с ETag. Это может быть контрольная сумма содержимого, которое генерируются. Это будет учитывать изменение шаблона.

Что следует отметить в обоих этих подходах к кешированию динамического контента: что они действительно сэкономить больше пропускной способности, чем веб загрузка сервера / базы данных. Вы всегда можете разумно использовать Expires заголовок, хотя, чтобы помочь в случаях, когда изменения на странице являются периодическими и предсказуемо.

Мои предложения по входу в систему были бы похожими, за исключением того, что я бы посмотрел на заголовок Vary. Это может сигнализировать кеширующим прокси, что разные вошедшие в систему пользователи не будут обслуживаться одним и тем же контентом.

В общем, я бы использовал ETag или Last-Modified, но не оба.

2
ответ дан 17 December 2019 в 04:52
поделиться

Я хотел бы предложить прочитать Масштабируемые интернет-архитектуры Есть несколько глав, посвященных расширению с помощью кэширования, CDN и т. Д. Это должно указать вам правильное направление, чтобы начать работу. Помог мне увеличить масштаб сайта, который я поддерживаю.

-

0
ответ дан 17 December 2019 в 04:52
поделиться

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

Однако то, о чем большинство людей забывают думать, это их динамический контент, конечно, результаты кэширования db и т.п. великолепны, но все же требуют фактического запуска механизма синтаксического анализа PHP / ASP или что-то в этом роде.

Если вы посмотрите на плагин супер-кеша для wordpress, вы заметите, что он действительно может подготовить ваш html как статические файлы. Кроме того, он также создает копию gzip и использует правила перезаписи для проверки существования этих файлов в качестве подходящей альтернативы запуску анализатора. Очевидно, это даст вам лучший результат,

2
ответ дан 17 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

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