redis_page 0.1.12 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/lib/action_controller/caching/redis_pages.rb +12 -5
- data/lib/redis_page/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a088b6a3ec3e6a1563e013443b295c0c5230bfeb
|
4
|
+
data.tar.gz: 8da5a745b6b7d0da62b07b7df5fd7ae6637686e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2289e88d5575cb51131e9ace9583f4195375dca7f6e0893dec2b8e11c40092e1cd2672b7cbc533220a94339025048992b7d3827b7d35e4dcc1e9e9b3093b4f7
|
7
|
+
data.tar.gz: a1025822fc3f1a5122295e059d786cb64a2ed399bfa65ed19a79224d1181995ef2119f3d35fe04aa3c536080ead936b6654084d2ed843b524977e88c87ff6449
|
data/README.md
CHANGED
@@ -52,6 +52,7 @@ class ProductController < ActionController::Base
|
|
52
52
|
caches_redis_page :show # 或者使用下面两行的格式
|
53
53
|
#caches_redis_page :show, append_country: true # cache key 会在 path 后面加上国家代码,例如:/products-US
|
54
54
|
#caches_redis_page :show, unless: Proc.new { params[:preview] } # 带上 preview 参数,则不进行缓存,方便管理员对未保存的内容进行预览
|
55
|
+
#caches_redis_page :show, namespace: 'www' # 多个子域名的 path 可能相同,可以使用 namespace 来区分
|
55
56
|
|
56
57
|
def show
|
57
58
|
@product = Product.find(params[:id])
|
@@ -24,17 +24,24 @@ module ActionController
|
|
24
24
|
end
|
25
25
|
|
26
26
|
after_filter({only: actions}.merge(options)) do |c|
|
27
|
-
path = request.path
|
27
|
+
#path = request.path # fixed: /products/ 地址带了/符号,缓存不生效
|
28
|
+
path = URI(request.original_url).path
|
28
29
|
path = "#{path}-#{@cache_country}" if @cache_country
|
29
|
-
c.cache_redis_page(response.body, path)
|
30
|
+
c.cache_redis_page(response.body, path, options)
|
30
31
|
c.record_cached_page
|
31
32
|
end
|
32
33
|
end
|
33
34
|
end
|
34
35
|
|
35
|
-
def cache_redis_page(content, path)
|
36
|
-
|
37
|
-
|
36
|
+
def cache_redis_page(content, path, options = {})
|
37
|
+
key = path
|
38
|
+
text = "[page cache]caching: #{path}"
|
39
|
+
if namespace = options[:namespace]
|
40
|
+
key = "#{namespace}:#{key}"
|
41
|
+
text = "#{text} in #{namespace}"
|
42
|
+
end
|
43
|
+
Rails.logger.info text
|
44
|
+
RedisPage.redis.setex(key, RedisPage.config.ttl || 604800, content) # 1 周后失效
|
38
45
|
end
|
39
46
|
|
40
47
|
def record_cached_page
|
data/lib/redis_page/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis_page
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- saberma
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|