Как сослаться на начальную фиксацию?

Кроме того, кэш базы данных может быть не таким практичным, как кажется. Я скопировал это из http://highscalability.com/bunch-great-strategies-using-memcached-and-mysql-better-together - это специфично для MySQL, хотя.

Учитывая, что MySQL имеет кэш, зачем вообще нужен memcached?

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

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

Кэш запросов основан на строках. Memcached может кэшировать любой тип данных, который вы хотите, и он не ограничивается кэшированием строк базы данных. Memcached может кэшировать сложные сложные объекты, которые можно напрямую использовать без объединения.

121
задан Ciro Santilli 新疆改造中心法轮功六四事件 25 July 2015 в 01:30
поделиться

2 ответа

Не используйте git-log для написания сценариев: используйте git-rev-list или git-log с указанным настраиваемым форматом ( - format = * < sth> * option).

Существует дополнительная проблема с вашим вопросом: может существовать более одного такого корневого коммита TAIL (без родительского коммита) в репозитории (даже если мы не учитываем отключенные ветки , например "html", "man" и "todo" в репозитории git.git). Обычно это результат объединения отдельных проектов в один или объединения поддеревьев отдельно разработанного подпроекта.

Например, в репозитории git есть 6 корневых коммитов: git-gui, gitk (объединено поддеревьев), gitweb (объединено, больше не разрабатывается отдельно), инструменты почты git (объединены очень рано в истории проекта) и p4-fast. -экспорт (возможно, случайно). Это не считая корней ' html и 'man' ветки, «удобные» ветки, содержащие предварительно сгенерированную документацию, и ветку «todo» со списком TODO и скриптами.


Если у вас git 1.7.4.2 или новее, вы можете использовать - -max-parent параметр:

$ git rev-list --max-parents=0 HEAD

В противном случае вы можете получить список всех без родительских (корневых) коммитов, доступных из текущей ветки, используя:

$ git rev-list --parents HEAD | egrep "^[a-f0-9]{40}$"
139
ответ дан 24 November 2019 в 01:33
поделиться

git rev-list HEAD | tail -n 1 is a more stable option.

32
ответ дан 24 November 2019 в 01:33
поделиться
Другие вопросы по тегам:

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