redis_page 0.1.1 → 0.1.2
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/.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
|