diff options
author | Jeremy Daer <jeremydaer@gmail.com> | 2017-11-13 19:16:53 -0700 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2017-11-13 22:02:45 -0700 |
commit | ed100166874fb4a542c5aaba933a4cca5ed72269 (patch) | |
tree | 2ff1d0fc88cbf9e10dc85c873765b4e6d06fa7e8 /activesupport/test/cache/cache_entry_test.rb | |
parent | b6d5e46311d7ea59539c1f45c6ffb269eeb23912 (diff) | |
download | rails-ed100166874fb4a542c5aaba933a4cca5ed72269.tar.gz rails-ed100166874fb4a542c5aaba933a4cca5ed72269.tar.bz2 rails-ed100166874fb4a542c5aaba933a4cca5ed72269.zip |
Cache: Enable compression by default for values > 1kB.
Compression has long been available, but opt-in and at a 16kB threshold.
It wasn't enabled by default due to CPU cost. Today it's cheap and
typical cache data is eminently compressible, such as HTML or JSON
fragments.
Compression dramatically reduces Memcached/Redis mem usage, which means
the same cache servers can store more data, which means higher hit
rates.
To disable compression, pass `compress: false` to the initializer.
Diffstat (limited to 'activesupport/test/cache/cache_entry_test.rb')
-rw-r--r-- | activesupport/test/cache/cache_entry_test.rb | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/activesupport/test/cache/cache_entry_test.rb b/activesupport/test/cache/cache_entry_test.rb index 51b214ad8f..80ff7ad564 100644 --- a/activesupport/test/cache/cache_entry_test.rb +++ b/activesupport/test/cache/cache_entry_test.rb @@ -14,16 +14,23 @@ class CacheEntryTest < ActiveSupport::TestCase end end - def test_compress_values + def test_compressed_values value = "value" * 100 entry = ActiveSupport::Cache::Entry.new(value, compress: true, compress_threshold: 1) assert_equal value, entry.value assert(value.bytesize > entry.size, "value is compressed") end - def test_non_compress_values + def test_compressed_by_default value = "value" * 100 - entry = ActiveSupport::Cache::Entry.new(value) + entry = ActiveSupport::Cache::Entry.new(value, compress_threshold: 1) + assert_equal value, entry.value + assert(value.bytesize > entry.size, "value is compressed") + end + + def test_uncompressed_values + value = "value" * 100 + entry = ActiveSupport::Cache::Entry.new(value, compress: false) assert_equal value, entry.value assert_equal value.bytesize, entry.size end |