Commit graph

13 commits

Author SHA1 Message Date
GitLab Bot
4bf395cded Add latest changes from gitlab-org/gitlab@master 2021-08-03 21:09:39 +00:00
GitLab Bot
f397d486bc Add latest changes from gitlab-org/gitlab@master 2021-08-03 15:10:03 +00:00
GitLab Bot
1930898566 Add latest changes from gitlab-org/gitlab@master 2021-08-02 09:10:09 +00:00
GitLab Bot
f4d51a9f71 Add latest changes from gitlab-org/gitlab@master 2021-07-29 15:09:48 +00:00
GitLab Bot
936d15143b Add latest changes from gitlab-org/gitlab@master 2021-07-26 21:08:38 +00:00
GitLab Bot
79f98200f8 Add latest changes from gitlab-org/gitlab@master 2021-06-07 15:09:56 +00:00
GitLab Bot
8322f05174 Add latest changes from gitlab-org/gitlab@master 2020-12-04 12:09:39 +00:00
GitLab Bot
a4c6555151 Add latest changes from gitlab-org/gitlab@master 2020-07-01 12:09:08 +00:00
Mario de la Ossa
e5705f5c54
Banzai - avoid redis if attr is in DB cache
When cache_collection_render runs we end up reading and writing
things to redis even if we already have the rendered field cached
in the DB. This commit avoids using redis at all whenever we have
the field already rendered in the DB cache.
2019-07-10 21:35:43 -06:00
Patrick Bajao
ea12c5aae8 Cleanup #attributes method
Since we're prepending the ActiveRecord::Extension module, we
can take advantage of it and avoid using an alias to extend the
original #attributes method.
2019-06-05 20:30:43 +08:00
Patrick Bajao
de21320db2 Remove requirement for id for #markdown_cache_key
It's not needed anymore as we require `#cache_key` instead.
2019-06-05 20:06:41 +08:00
Patrick Bajao
56d52340da Use #cache_key of subject for generated redis key
This commit also includes some changes in specs to use
`Class.new` approach.
2019-06-05 14:36:54 +08:00
Patrick Bajao
2eecfd8f9d Use Redis for CacheMarkDownField on non AR models
This allows using `CacheMarkdownField` for models that are not backed
by ActiveRecord.

When the including class inherits `ActiveRecord::Base` we include
`Gitlab::MarkdownCache::ActiveRecord::Extension`. This will cause the
markdown fields to be rendered and the generated HTML stored in a
`<field>_html` attribute on the record. We also store the version
used for generating the markdown.

All other classes that include this model will include the
`Gitlab::MarkdownCache::Redis::Extension`. This add the `<field>_html`
attributes to that model and will generate the html in them. The
generated HTML will be cached in redis under the key
`markdown_cache:<class>:<id>`. The class this included in must
therefore respond to `id`.
2019-06-05 13:19:59 +08:00