redis_page 0.1.24 → 0.1.25
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/lib/action_controller/caching/redis_pages.rb +1 -11
- data/lib/redis_page/version.rb +1 -1
- data/lib/redis_page/writter/base.rb +20 -0
- data/lib/redis_page.rb +6 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c2939bbe398ab23368f867cdfb38eafdc778dd0
|
4
|
+
data.tar.gz: 3a70dbd037184a5b8d2fb6b19aac7bf5c439ec7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d6b0b6b57dbacc9c5c741bb91e4714e64108e5fe0baa5fa715ddba9bdd6efcd2478737dda1d6a06dc5d34ad9c1c76dacef646f830a3432abef19e5252030a43
|
7
|
+
data.tar.gz: dd00b93b1ea23429f0c8b86f2937c5d9ca8fa340b524ea22cd4979a1082d20b22eaa2fff3321f590db2d53567276a3a2590951df94748ccecf45f9e79ef92745
|
@@ -44,18 +44,8 @@ module ActionController
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
# TODO: 全球化部署时需要将一个页面写到多个redis上去,需要确保: 1. 写入速度快; 2. 确保写入成功;
|
48
47
|
def cache_redis_page(content, path, options = {})
|
49
|
-
|
50
|
-
text = "[page cache]caching: #{path}"
|
51
|
-
if namespace = options[:namespace]
|
52
|
-
key = "#{namespace}:#{key}"
|
53
|
-
text = "#{text} in #{namespace}"
|
54
|
-
end
|
55
|
-
Rails.logger.info text
|
56
|
-
# RedisPage.cache_page_redis.setex(key, RedisPage.config.ttl || 604800, content) # 1 周后失效
|
57
|
-
# 对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时, 这个键原有的 TTL 将被清除。
|
58
|
-
RedisPage.cache_page_redis.set(key, content) # 永不失效
|
48
|
+
RedisPage.page_content_writter.write(content, path, options)
|
59
49
|
end
|
60
50
|
|
61
51
|
def record_cached_page
|
data/lib/redis_page/version.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
module RedisPage
|
2
|
+
module Writter
|
3
|
+
class Base
|
4
|
+
|
5
|
+
def write(content, path, options = {})
|
6
|
+
key = path
|
7
|
+
text = "[page cache]caching: #{path}"
|
8
|
+
if namespace = options[:namespace]
|
9
|
+
key = "#{namespace}:#{key}"
|
10
|
+
text = "#{text} in #{namespace}"
|
11
|
+
end
|
12
|
+
Rails.logger.info text
|
13
|
+
# RedisPage.cache_page_redis.setex(key, RedisPage.config.ttl || 604800, content) # 1 周后失效
|
14
|
+
# 对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时, 这个键原有的 TTL 将被清除。
|
15
|
+
RedisPage.cache_page_redis.set(key, content) # 永不失效
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/redis_page.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
require 'redis_page/railtie'
|
2
|
+
require 'redis_page/writter/base'
|
2
3
|
|
3
4
|
module RedisPage
|
4
5
|
class Config
|
5
6
|
attr_accessor :sweeper, :redis, :ttl
|
6
7
|
attr_accessor :cache_page_redis, :cache_relation_redis
|
7
8
|
attr_accessor :compress_method
|
9
|
+
attr_accessor :page_content_writter
|
8
10
|
end
|
9
11
|
|
10
12
|
def self.config
|
@@ -32,6 +34,10 @@ module RedisPage
|
|
32
34
|
[:deflate, :gzip].include?(config.compress_method) ? config.compress_method : nil
|
33
35
|
end
|
34
36
|
|
37
|
+
def self.page_content_writter
|
38
|
+
config.page_content_writter || RedisPage::Writter::Base.new
|
39
|
+
end
|
40
|
+
|
35
41
|
def self.sweeper
|
36
42
|
config.sweeper
|
37
43
|
end
|
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.25
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- saberma
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -118,6 +118,7 @@ files:
|
|
118
118
|
- lib/redis_page/sweeper_worker.rb
|
119
119
|
- lib/redis_page/version.rb
|
120
120
|
- lib/redis_page/view_helpers.rb
|
121
|
+
- lib/redis_page/writter/base.rb
|
121
122
|
- redis_page.gemspec
|
122
123
|
homepage: https://github.com/saberma/redis_page
|
123
124
|
licenses:
|