discourse/app/models
Sam Saffron 14db879a31 DEV: Implement a faster Discourse.cache
This is a bottom up rewrite of Discourse cache to support faster performance
and a limited surface area.

ActiveSupport::Cache::Store accepts many options we do not use, this partial
implementation only picks the bits out that we do use and want to support.

Additionally params are named which avoids typos such as "expires_at" vs "expires_in"

This also moves a few spots in Discourse to use Discourse.cache over setex
Performance of setex and Discourse.cache.write is similar.
2019-12-03 14:03:30 +01:00
..
concerns DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
reports DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
about.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
admin_dashboard_data.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
admin_dashboard_general_data.rb FEATURE: Display 'last updated' on dashboard, improve release notes link (#7560) 2019-05-17 15:42:45 +10:00
admin_dashboard_index_data.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
anonymous_user.rb FEATURE: introduce dedicated storage and DB constraints for anon users 2019-05-29 14:26:24 +10:00
api_key.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
application_request.rb FEATURE: control which web crawlers can access using a whitelist or blacklist 2018-03-22 15:41:02 -04:00
auto_track_duration_site_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
backup_file.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
backup_location_site_setting.rb DEV: Enable Style/SingleLineMethods and Style/Semicolon in Rubocop (#6717) 2018-12-04 11:48:13 +08:00
badge_grouping.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
badge_type.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
badge.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category_and_topic_lists.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category_custom_field.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category_featured_topic.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category_group.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category_list.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category_page_style.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category_search_data.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category_tag_group.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category_tag_stat.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category_tag.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category_user.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
category.rb FIX: ensure consistency should handle cases where a topic trashed 2019-06-07 14:57:56 +10:00
child_theme.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
color_scheme_color.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
color_scheme.rb FIX: Remove default val for colors step if a default theme has been set. 2019-05-09 17:25:09 +08:00
custom_emoji.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
developer.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
digest_email_site_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
directory_item.rb FIX user directory time period count (#6586) 2018-11-12 15:30:05 +01:00
discourse_single_sign_on.rb DEV: Implement a faster Discourse.cache 2019-12-03 14:03:30 +01:00
discourse_version_check.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
draft_sequence.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
draft.rb FIX: Previous annotations were broken 2019-01-11 14:30:19 -05:00
email_change_request.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
email_level_site_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
email_log.rb DEV: Update annotations 2019-05-13 15:24:24 +01:00
email_token.rb FIX: reload the user record instead of fetching via email 2019-05-13 15:16:53 +05:30
embeddable_host.rb SECURITY: Don't allow base_uri as embeddable host if none exist 2019-10-01 17:58:39 +02:00
embedding.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
emoji_set_site_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
emoji.rb FEATURE: SKIP_DB_AND_REDIS env var (#7756) 2019-06-13 12:58:27 +10:00
github_user_info.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
given_daily_like.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
global_setting.rb FEATURE: SKIP_DB_AND_REDIS env var (#7756) 2019-06-13 12:58:27 +10:00
group_archived_message.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
group_custom_field.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
group_history.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
group_manager.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
group_mention.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
group_request.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
group_user.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
group.rb FIX: staged users should not be included in TL groups 2019-06-17 15:10:47 +10:00
ignored_user.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
incoming_domain.rb FIX: make frozen string mutable in incoming_domain 2019-05-14 17:44:53 +02:00
incoming_email.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
incoming_link.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
incoming_links_report.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
incoming_referer.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
instagram_user_info.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
invite_redeemer.rb FIX: delete duplicate invites earlier in the process 2019-05-13 17:42:39 +10:00
invite.rb FIX: use hijack for processing bulk invites (#7679) 2019-06-04 20:19:46 +05:30
invited_group.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
javascript_cache.rb FEATURE: Multi-file javascript support for themes (#7526) 2019-06-03 10:41:00 +01:00
like_notification_frequency_site_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
locale_site_setting.rb FEATURE: English locale with international date formats 2019-05-20 13:47:20 +02:00
mailing_list_mode_site_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
muted_user.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
new_topic_duration_site_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
notification_level_when_replying_site_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
notification.rb DEV: Added commit approved notification type for discourse-code-review 2019-06-11 11:17:23 +10:00
oauth2_user_info.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
onceoff_log.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
optimized_image.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
permalink.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
plugin_store_row.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
plugin_store.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
post_action_type.rb annotate models 2019-05-29 14:26:24 +10:00
post_action.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
post_analyzer.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
post_custom_field.rb DEV: Update annotations 2019-05-13 15:24:24 +01:00
post_detail.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
post_mover.rb FEATURE: Preserve notifications levels when splitting topics. (#7494) 2019-05-15 17:29:29 +10:00
post_reply_key.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
post_reply.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
post_revision.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
post_search_data.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
post_stat.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
post_timing.rb FIX: Use PostgreSQL 'ON CONFLICT' to deal with race condition 2019-04-29 16:34:42 -03:00
post_upload.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
post.rb FIX: skip external urls which has upload url in query string. 2019-06-11 19:55:02 +05:30
previous_replies_site_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
push_subscription.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
quoted_post.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
remote_theme.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
remove_muted_tags_from_latest_site_setting.rb UX: Merge settings related to muted tags. (#7656) 2019-06-03 12:23:23 +10:00
report.rb DEV: Implement a faster Discourse.cache 2019-12-03 14:03:30 +01:00
reviewable_claimed_topic.rb DEV: Update annotations 2019-05-13 15:24:24 +01:00
reviewable_flagged_post.rb DEV: Allow specifying button class in reviewable action definitions (#8093) 2019-10-08 15:06:15 -03:00
reviewable_history.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
reviewable_priority_setting.rb Use an Enum class for the Reviewable Priority Site Setting 2019-05-24 15:44:24 -04:00
reviewable_queued_post.rb DEV: Allow specifying button class in reviewable action definitions (#8093) 2019-10-08 15:06:15 -03:00
reviewable_score.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
reviewable_sensitivity_setting.rb make 🤖 happy 2019-05-25 00:32:29 +02:00
reviewable_user.rb Update annotation. 2019-05-24 12:58:26 +08:00
reviewable.rb FEATURE: Can sort reviewable queue 2019-06-05 13:21:05 -04:00
s3_region_site_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
screened_email.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
screened_ip_address.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
screened_url.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
search_log.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
shared_draft.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
single_sign_on_record.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
site_setting.rb FIX: redirect to top was always redirecting to 'All' 2019-06-03 20:18:14 +02:00
site.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
skipped_email_log.rb FIX: Don't send notification email when user isn't allowed to see topic 2019-07-02 09:05:36 +10:00
slug_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
stylesheet_cache.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
tag_group_membership.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
tag_group_permission.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
tag_group.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
tag_search_data.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
tag_user.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
tag.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
theme_field.rb DEV: Stop compiling themes during DB migration. Recompile on cdn change. (#7676) 2019-06-03 16:38:02 +01:00
theme_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
theme_translation_override.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
theme.rb DEV: use Discourse.cache over Rails.cache 2019-12-03 14:03:21 +01:00
top_lists.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
top_menu_item.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
top_topic.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_allowed_group.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_allowed_user.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_converter.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_custom_field.rb annotate models 2019-05-29 14:26:24 +10:00
topic_embed.rb DEV: use Discourse.cache over Rails.cache 2019-12-03 14:03:21 +01:00
topic_featured_users.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_invite.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_link_click.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_link.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_list.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_notifier.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_participants_summary.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_poster.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_posters_summary.rb PERF: speed up topic poster lookups 2019-06-05 18:28:36 +10:00
topic_search_data.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_tag.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_timer.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_tracking_state.rb Fix modifying frozen strings errors take 3. 2019-05-13 16:45:23 +08:00
topic_user.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic_view_item.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
topic.rb Migrate score settings to use sensitivities 2019-05-24 15:44:24 -04:00
translation_override.rb FEATURE: English locale with international date formats 2019-05-20 13:47:20 +02:00
trust_level_and_staff_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
trust_level_setting.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
trust_level3_requirements.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
unsubscribe_key.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
upload.rb FEATURE: Support private attachments when using S3 storage (#7677) 2019-06-06 13:27:24 +10:00
user_action.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_api_key.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_archived_message.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_associated_account.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_auth_token_log.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_auth_token.rb PERF: add index on user auth tokens (for user lookups) 2019-04-26 22:38:54 +10:00
user_avatar.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_badge.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_badges.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_custom_field.rb REFACTOR: Replace score bonuses with low/med/high priorities 2019-05-23 11:54:45 -04:00
user_email.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_export.rb DEV: refactor cleaning up of user export topics 2019-05-30 10:24:45 +05:30
user_field_option.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_field.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_history.rb FEATURE: Make staff action logs page support infinite loading 2019-06-06 13:02:53 +10:00
user_open_id.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_option.rb FEATURE: add support for defer topic functionality 2019-05-31 15:44:35 +10:00
user_profile_view.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_profile.rb FEATURE: Implement Onebox for posts including polls. (#7539) 2019-05-29 17:05:52 +02:00
user_search_data.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_search.rb SECURITY: Check permissions when autocompleting mentions 2019-10-28 12:20:26 +00:00
user_second_factor.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_stat.rb make rubocop happy 2019-04-08 17:03:26 +05:30
user_summary.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_upload.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_visit.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user_warning.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
user.rb FIX: When activating a user, ensure the change is reflected immediately 2019-08-28 14:09:03 +01:00
username_validator.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
watched_word.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
web_crawler_request.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
web_hook_event_type.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
web_hook_event.rb DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
web_hook.rb Only show deprecation warning if the webhook is active 2019-06-10 16:23:12 -04:00