diff options
Diffstat (limited to 'guides/source')
-rw-r--r-- | guides/source/caching_with_rails.md | 16 | ||||
-rw-r--r-- | guides/source/development_dependencies_install.md | 6 |
2 files changed, 12 insertions, 10 deletions
diff --git a/guides/source/caching_with_rails.md b/guides/source/caching_with_rails.md index eec2c02988..b0103c9af4 100644 --- a/guides/source/caching_with_rails.md +++ b/guides/source/caching_with_rails.md @@ -70,13 +70,13 @@ code: When your application receives its first request to this page, Rails will write a new cache entry with a unique key. A key looks something like this: -```html +``` views/products/1-201505056193031061005000/bea67108094918eeba42cd4a6e786901 ``` The number in the middle is the `product_id` followed by the timestamp value in -the `updated_at` value of the product record. Rails uses the timestamp value to -make sure it is not serving stale data. If the value of `updated_at` has +the `updated_at` attribute of the product record. Rails uses the timestamp value +to make sure it is not serving stale data. If the value of `updated_at` has changed, a new key will be generated. Then Rails will write a new cache to that key, and the old cache written to the old key will never be used again. This is called key-based expiration. @@ -90,7 +90,7 @@ will change, expiring the existing file. TIP: Cache stores like Memcached will automatically delete old cache files. If you want to cache a fragment under certain conditions, you can use -`cache_if` or `cache_unless` +`cache_if` or `cache_unless`: ```erb <% cache_if admin?, product do %> @@ -144,8 +144,8 @@ end ``` With `touch` set to true, any action which changes `updated_at` for a game -column will also change it in the associated product column, thereby expiring -the cache. +record will also change it for the associated product, thereby expiring the +cache. ### Low-Level Caching @@ -410,6 +410,8 @@ class ProductsController < ApplicationController end ``` -### References +References +---------- + * [DHH's article on key-based expiration](https://signalvnoise.com/posts/3113-how-key-based-cache-expiration-works) * [Ryan Bates' Railscast on cache digests](http://railscasts.com/episodes/387-cache-digests) diff --git a/guides/source/development_dependencies_install.md b/guides/source/development_dependencies_install.md index 295e48f493..3c670a1221 100644 --- a/guides/source/development_dependencies_install.md +++ b/guides/source/development_dependencies_install.md @@ -9,7 +9,7 @@ After reading this guide, you will know: * How to set up your machine for Rails development * How to run specific groups of unit tests from the Rails test suite -* How the ActiveRecord portion of the Rails test suite operates +* How the Active Record portion of the Rails test suite operates -------------------------------------------------------------------------------- @@ -60,7 +60,7 @@ In Ubuntu you're done with just: $ sudo apt-get install sqlite3 libsqlite3-dev ``` -And if you are on Fedora or CentOS, you're done with +If you are on Fedora or CentOS, you're done with ```bash $ sudo yum install sqlite3 sqlite3-devel @@ -213,7 +213,7 @@ FreeBSD users will have to run the following: ```bash # pkg install mysql56-client mysql56-server -# pkg install postgresql93-client postgresql93-server +# pkg install postgresql94-client postgresql94-server ``` Or install them through ports (they are located under the `databases` folder). |