mondrian_redis_segment_cache 0.1.0-java → 0.1.1-java
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b62e31e45c942bb6005ee4fdd6b15c55f11374f
|
4
|
+
data.tar.gz: bb0ef55a4e73c6ad13f73a0aaf2d8350f573132f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ba18069f409a17f43d7f19d514534b89205af1ac5c68fe5dffc58687079805a047e8d4d0ca4dfc1cfe4d66beb82212f0d41f448383c8c32236c0b619bff0e0f
|
7
|
+
data.tar.gz: fc48d6c75ec2c253aca7aa4ba39428858fef4dd08afee56c6a2c9f290b1a5d7b8e0012b4fff7b2a59b2ca5ab4d04a9a0d775aec05b54067d22f2e6e38b4b9e97
|
@@ -6,11 +6,11 @@ module MondrianRedisSegmentCache
|
|
6
6
|
class Cache
|
7
7
|
include Java::MondrianSpi::SegmentCache
|
8
8
|
|
9
|
-
attr_reader :created_listener_connection,
|
9
|
+
attr_reader :created_listener_connection,
|
10
10
|
:deleted_listener_connection,
|
11
11
|
:evicted_listener_connection,
|
12
12
|
:expired_listener_connection,
|
13
|
-
:listeners,
|
13
|
+
:listeners,
|
14
14
|
:mondrian_redis,
|
15
15
|
:options
|
16
16
|
|
@@ -28,7 +28,7 @@ module MondrianRedisSegmentCache
|
|
28
28
|
@options = Marshal.load(Marshal.dump(new_options))
|
29
29
|
|
30
30
|
reset_listeners
|
31
|
-
|
31
|
+
start
|
32
32
|
reconcile_set_and_keys
|
33
33
|
end
|
34
34
|
|
@@ -146,7 +146,7 @@ module MondrianRedisSegmentCache
|
|
146
146
|
header_base64 = segment_header_to_base64(segment_header)
|
147
147
|
body_base64 = segment_body_to_base64(segment_body)
|
148
148
|
mondrian_redis.sadd(SEGMENT_HEADERS_SET_KEY, header_base64)
|
149
|
-
|
149
|
+
|
150
150
|
if has_expiry?
|
151
151
|
set_success = mondrian_redis.setex(header_base64, expires_in_seconds, body_base64)
|
152
152
|
else
|
@@ -173,6 +173,15 @@ module MondrianRedisSegmentCache
|
|
173
173
|
@listeners = Set.new
|
174
174
|
end
|
175
175
|
|
176
|
+
def shutdown!
|
177
|
+
# Ouch, why so harsh?
|
178
|
+
@redis_events_threads.map(&:kill)
|
179
|
+
end
|
180
|
+
|
181
|
+
def start
|
182
|
+
register_for_redis_events
|
183
|
+
end
|
184
|
+
|
176
185
|
def supportsRichIndex()
|
177
186
|
true # this is why we are serializing the headers to base64
|
178
187
|
end
|
@@ -237,8 +246,9 @@ module MondrianRedisSegmentCache
|
|
237
246
|
|
238
247
|
# Not the best multi-threaded code, but its something that "works" for now and we will
|
239
248
|
# worry about "best" later
|
249
|
+
@redis_events_threads = []
|
240
250
|
|
241
|
-
Thread.new(created_listener_connection, self) do |created_redis_connection, mondrian_cache|
|
251
|
+
@redis_events_threads << Thread.new(created_listener_connection, self) do |created_redis_connection, mondrian_cache|
|
242
252
|
created_redis_connection.subscribe(mondrian_cache.created_event_key) do |on|
|
243
253
|
on.message do |channel, message|
|
244
254
|
mondrian_cache.publish_created_to_listeners(message)
|
@@ -246,7 +256,7 @@ module MondrianRedisSegmentCache
|
|
246
256
|
end
|
247
257
|
end
|
248
258
|
|
249
|
-
Thread.new(deleted_listener_connection, self) do |deleted_redis_connection, mondrian_cache|
|
259
|
+
@redis_events_threads << Thread.new(deleted_listener_connection, self) do |deleted_redis_connection, mondrian_cache|
|
250
260
|
deleted_redis_connection.subscribe(mondrian_cache.deleted_event_key) do |on|
|
251
261
|
on.message do |channel, message|
|
252
262
|
mondrian_cache.publish_deleted_to_listeners(message)
|
@@ -254,7 +264,7 @@ module MondrianRedisSegmentCache
|
|
254
264
|
end
|
255
265
|
end
|
256
266
|
|
257
|
-
Thread.new(expired_listener_connection, self) do |expired_redis_connection, mondrian_cache|
|
267
|
+
@redis_events_threads << Thread.new(expired_listener_connection, self) do |expired_redis_connection, mondrian_cache|
|
258
268
|
expired_redis_connection.subscribe(mondrian_cache.expired_event_key) do |on|
|
259
269
|
on.message do |channel, message|
|
260
270
|
mondrian_cache.publish_expired_to_listeners(message)
|
@@ -262,7 +272,7 @@ module MondrianRedisSegmentCache
|
|
262
272
|
end
|
263
273
|
end
|
264
274
|
|
265
|
-
Thread.new(evicted_listener_connection, self) do |evicted_redis_connection, mondrian_cache|
|
275
|
+
@redis_events_threads << Thread.new(evicted_listener_connection, self) do |evicted_redis_connection, mondrian_cache|
|
266
276
|
evicted_redis_connection.subscribe(mondrian_cache.evicted_event_key) do |on|
|
267
277
|
on.message do |channel, message|
|
268
278
|
mondrian_cache.publish_evicted_to_listeners(message)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mondrian_redis_segment_cache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Brandon Dewitt
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|