aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/cache/behaviors/cache_store_behavior.rb
diff options
context:
space:
mode:
authorJeremy Daer <jeremydaer@gmail.com>2017-11-13 19:16:53 -0700
committerJeremy Daer <jeremydaer@gmail.com>2017-11-13 22:02:45 -0700
commited100166874fb4a542c5aaba933a4cca5ed72269 (patch)
tree2ff1d0fc88cbf9e10dc85c873765b4e6d06fa7e8 /activesupport/test/cache/behaviors/cache_store_behavior.rb
parentb6d5e46311d7ea59539c1f45c6ffb269eeb23912 (diff)
downloadrails-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/behaviors/cache_store_behavior.rb')
-rw-r--r--activesupport/test/cache/behaviors/cache_store_behavior.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/activesupport/test/cache/behaviors/cache_store_behavior.rb b/activesupport/test/cache/behaviors/cache_store_behavior.rb
index 582e902f72..73a9b2a71c 100644
--- a/activesupport/test/cache/behaviors/cache_store_behavior.rb
+++ b/activesupport/test/cache/behaviors/cache_store_behavior.rb
@@ -146,6 +146,16 @@ module CacheStoreBehavior
assert_nil @cache.read("foo")
end
+ def test_read_and_write_uncompressed_small_data
+ @cache.write("foo", "bar", compress: false)
+ assert_equal "bar", @cache.read("foo")
+ end
+
+ def test_read_and_write_uncompressed_nil
+ @cache.write("foo", nil, compress: false)
+ assert_nil @cache.read("foo")
+ end
+
def test_cache_key
obj = Object.new
def obj.cache_key