redis_page 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/README.md +13 -5
- data/lib/action_controller/caching/{pages.rb → redis_pages.rb} +3 -2
- data/lib/action_controller/{page_caching.rb → redis_page_caching.rb} +4 -4
- data/lib/redis_page/railtie.rb +1 -1
- data/lib/redis_page/sweeper_worker.rb +2 -0
- data/lib/redis_page/version.rb +1 -1
- data/redis_page.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a87ae8bca8efe4f64fc7e239db928ffa43f11c5c
|
4
|
+
data.tar.gz: 75fa6d003cf7f20c05fd46f1e41b55175b6b4bf9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0544aa6f3ce114bbb5dd97fb7b471fd8ad767e4f32fbfed50ba246fc12193f017142f643963877eab816b50bd7f8043c96aa7d4b3dee05e3b1a8dd2d6fb1051
|
7
|
+
data.tar.gz: 2d377e66c5364b47ff1900376db164ce66ecbf6d84205bdd34d9930a68ae215e8ea58925564d29d53b529527885b5a83813e6facefc962552202e1263a903515
|
data/README.md
CHANGED
@@ -21,7 +21,7 @@ And then execute:
|
|
21
21
|
|
22
22
|
## Usage
|
23
23
|
|
24
|
-
###
|
24
|
+
### 1. Config
|
25
25
|
|
26
26
|
增加文件:`config/initializers/redis_page.rb`
|
27
27
|
|
@@ -32,9 +32,17 @@ RedisPage.configure do |config|
|
|
32
32
|
config.sweeper = { port: 8081, username: 'cache', password: 'ewHN84JZLyRurX' }
|
33
33
|
config.redis = Redis.new(host: "redis", port: 6379, db: 10)
|
34
34
|
end
|
35
|
+
|
36
|
+
Sidekiq.configure_server do |config|
|
37
|
+
config.redis = { url: "redis://redis:6379/15" }
|
38
|
+
end
|
39
|
+
|
40
|
+
Sidekiq.configure_client do |config|
|
41
|
+
config.redis = { url: "redis://redis:6379/15" }
|
42
|
+
end
|
35
43
|
```
|
36
44
|
|
37
|
-
###
|
45
|
+
### 2. Controller
|
38
46
|
|
39
47
|
生成页面缓存
|
40
48
|
|
@@ -48,7 +56,7 @@ class ProductController < ActionController::Base
|
|
48
56
|
end
|
49
57
|
```
|
50
58
|
|
51
|
-
###
|
59
|
+
### 3. View
|
52
60
|
|
53
61
|
记录哪些实体更新时要刷新的 url,例如:iPhone 在首页中显示了,则记录下 iPhone 实体与首页的关联关系
|
54
62
|
|
@@ -66,7 +74,7 @@ end
|
|
66
74
|
|
67
75
|
c 方法会记录当前页面 url
|
68
76
|
|
69
|
-
###
|
77
|
+
### 4. Model
|
70
78
|
|
71
79
|
更新实体后刷新所有关联的页面缓存
|
72
80
|
|
@@ -80,5 +88,5 @@ end
|
|
80
88
|
|
81
89
|
```
|
82
90
|
gem build redis_page.gemspec
|
83
|
-
gem push redis_page-0.1.
|
91
|
+
gem push redis_page-0.1.1.gem
|
84
92
|
```
|
@@ -2,7 +2,7 @@ require 'active_support/core_ext/class/attribute_accessors'
|
|
2
2
|
|
3
3
|
module ActionController
|
4
4
|
module Caching
|
5
|
-
module
|
5
|
+
module RedisPages
|
6
6
|
INSTANCE_PATH_REGEX = /^\/(\w+)\/(\d+)/
|
7
7
|
extend ActiveSupport::Concern
|
8
8
|
|
@@ -10,6 +10,7 @@ module ActionController
|
|
10
10
|
end
|
11
11
|
|
12
12
|
module ClassMethods
|
13
|
+
|
13
14
|
def caches_redis_page(*actions)
|
14
15
|
options = actions.extract_options!
|
15
16
|
|
@@ -17,7 +18,7 @@ module ActionController
|
|
17
18
|
@page_need_to_cache = true
|
18
19
|
if options[:append_country]
|
19
20
|
# X-IP-Country 是通过 nginx GeoIP2 module 注入的 header
|
20
|
-
@cache_country = (cookies[:country] || request.headers['X-IP-Country']).upcase
|
21
|
+
@cache_country = (cookies[:country] || request.headers['X-IP-Country']).try(:upcase)
|
21
22
|
end
|
22
23
|
end
|
23
24
|
|
@@ -1,14 +1,14 @@
|
|
1
|
-
require 'action_controller/caching/
|
1
|
+
require 'action_controller/caching/redis_pages'
|
2
2
|
|
3
3
|
module ActionController
|
4
4
|
module Caching
|
5
5
|
eager_autoload do
|
6
|
-
autoload :
|
6
|
+
autoload :RedisPages
|
7
7
|
end
|
8
8
|
|
9
|
-
include
|
9
|
+
include RedisPages
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
ActionController::Base.send(:include, ActionController::Caching::
|
13
|
+
ActionController::Base.send(:include, ActionController::Caching::RedisPages)
|
14
14
|
ActionController::Base.send(:include, RedisPage::ViewHelpers)
|
data/lib/redis_page/railtie.rb
CHANGED
data/lib/redis_page/version.rb
CHANGED
data/redis_page.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
|
26
26
|
spec.add_dependency "activesupport", "~> 4.0.9"
|
27
27
|
spec.add_dependency "actionpack", "~> 4.0.9"
|
28
|
-
spec.add_dependency "sidekiq", "~> 3.
|
28
|
+
spec.add_dependency "sidekiq", "~> 3.2.6"
|
29
29
|
|
30
30
|
spec.add_development_dependency "bundler", "~> 1.8"
|
31
31
|
spec.add_development_dependency "rake", "~> 10.0"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- saberma
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.
|
47
|
+
version: 3.2.6
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.
|
54
|
+
version: 3.2.6
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -96,8 +96,8 @@ files:
|
|
96
96
|
- Rakefile
|
97
97
|
- bin/console
|
98
98
|
- bin/setup
|
99
|
-
- lib/action_controller/caching/
|
100
|
-
- lib/action_controller/
|
99
|
+
- lib/action_controller/caching/redis_pages.rb
|
100
|
+
- lib/action_controller/redis_page_caching.rb
|
101
101
|
- lib/redis_page.rb
|
102
102
|
- lib/redis_page/railtie.rb
|
103
103
|
- lib/redis_page/sweeper.rb
|