me-redis 0.1.5 → 0.1.6
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/CHANGELOG.md +3 -0
- data/Dockerfile +1 -1
- data/docker-compose.yml +13 -0
- data/lib/me_redis/me_redis_hot_migrator.rb +6 -6
- data/lib/me_redis/version.rb +1 -1
- data/lib/me_redis/zip_keys.rb +1 -1
- data/lib/me_redis/zip_to_hash.rb +2 -2
- data/lib/me_redis/zip_values.rb +1 -1
- data/lib/me_redis.rb +3 -3
- data/me-redis.gemspec +1 -1
- data/ruby3.Dockerfile +7 -0
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fcb807ddbff3ae63c2c4ae0a1bdd2bee8e37202ca0477fc3c86d6b7c58feaa3d
|
4
|
+
data.tar.gz: 9d60ce417f2b0dfbf5e7fdf56ab6057e1a4f3bdb2ecc6793f8a952dc6fa9ed82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 644bb9d176681ad580f7d268e6a3d51e4c06632d2269d00521a318544ed34a5fa50e9cc9035d94a6d823c3bd1e7b1d481406c4d3c82681343cfbb64c464e77b0
|
7
|
+
data.tar.gz: 4440092927b370e803e9d52eeb67477e9304734b178f4d013b4dec13af4d7ff44d9870190316e89f1fd515130cf0b838ab5401534ef089981cf16f6b2f31c41d
|
data/CHANGELOG.md
CHANGED
data/Dockerfile
CHANGED
data/docker-compose.yml
CHANGED
@@ -9,6 +9,19 @@ services:
|
|
9
9
|
build: .
|
10
10
|
image: me-redis-test
|
11
11
|
command: bundle exec rake test
|
12
|
+
volumes:
|
13
|
+
- '.:/me-redis'
|
14
|
+
depends_on:
|
15
|
+
- redis
|
16
|
+
environment:
|
17
|
+
REDIS_URL: redis://redis:6379
|
18
|
+
|
19
|
+
test3:
|
20
|
+
build:
|
21
|
+
context: .
|
22
|
+
dockerfile: ruby3.Dockerfile
|
23
|
+
image: me-redis-test-3
|
24
|
+
command: bundle exec rake test
|
12
25
|
volumes:
|
13
26
|
- '.:/me-redis'
|
14
27
|
depends_on:
|
@@ -9,17 +9,17 @@ module MeRedisHotMigrator
|
|
9
9
|
|
10
10
|
base.class_eval do
|
11
11
|
ZK_FALLBACK_METHODS.each do |method|
|
12
|
-
alias_method "
|
12
|
+
alias_method "___#{method}", method
|
13
13
|
end
|
14
14
|
|
15
15
|
include(MeRedis)
|
16
16
|
|
17
17
|
def me_get( key )
|
18
|
-
prev_future =
|
18
|
+
prev_future = ___get( key ) unless @client.is_a?(self.class::Client)
|
19
19
|
newvl = super(key)
|
20
20
|
|
21
21
|
newvl.prev_future = prev_future if newvl.is_a?(self.class::Future)
|
22
|
-
newvl ||
|
22
|
+
newvl || ___get( key )
|
23
23
|
end
|
24
24
|
|
25
25
|
def me_mget(*keys)
|
@@ -36,15 +36,15 @@ module MeRedisHotMigrator
|
|
36
36
|
module PrependMethods
|
37
37
|
ZK_FALLBACK_METHODS.each do |method|
|
38
38
|
define_method(method) do |*args|
|
39
|
-
prev_future = send("
|
39
|
+
prev_future = send("___#{method}", *args) unless @client.is_a?(self.class::Client)
|
40
40
|
newvl = super(*args)
|
41
41
|
|
42
42
|
newvl.prev_future = prev_future if newvl.is_a?(self.class::Future)
|
43
43
|
|
44
44
|
if method != :mget
|
45
|
-
newvl || send("
|
45
|
+
newvl || send("___#{method}", *args)
|
46
46
|
else
|
47
|
-
newvl.is_a?(Array) ? newvl.zip( send("
|
47
|
+
newvl.is_a?(Array) ? newvl.zip( send("___#{method}", *args) ).map!{|nvl, oldv| nvl || oldv } : newvl
|
48
48
|
end
|
49
49
|
|
50
50
|
end
|
data/lib/me_redis/version.rb
CHANGED
data/lib/me_redis/zip_keys.rb
CHANGED
@@ -42,7 +42,7 @@ module MeRedis
|
|
42
42
|
def persist(key); super(zip_key(key)) end
|
43
43
|
|
44
44
|
def decrby( key, decrement ); super(zip_key(key), decrement) end
|
45
|
-
def set( key, value, options
|
45
|
+
def set( key, value, **options ); super( zip_key(key), value, **options ) end
|
46
46
|
def ttl(key); super( zip_key(key) ) end
|
47
47
|
def mset( *key_values ); super( *key_values.each_slice(2).map{ |k,v| [zip_key(k),v] }.flatten ) end
|
48
48
|
def mget( *keys ); super( *keys.map!{ |k| zip_key(k) } ) end
|
data/lib/me_redis/zip_to_hash.rb
CHANGED
@@ -3,8 +3,8 @@ module MeRedis
|
|
3
3
|
module ZipToHash
|
4
4
|
|
5
5
|
module PrependMethods
|
6
|
-
def initialize(*args, &block)
|
7
|
-
super(*args, &block)
|
6
|
+
def initialize(*args, **kwargs, &block)
|
7
|
+
super(*args,**kwargs, &block)
|
8
8
|
|
9
9
|
# hash-max-ziplist-entries must be cashed, we can't ask Redis every time we need to zip keys,
|
10
10
|
# cause it's less performant and impossible during pipelining.
|
data/lib/me_redis/zip_values.rb
CHANGED
@@ -98,7 +98,7 @@ module MeRedis
|
|
98
98
|
|
99
99
|
# Redis prepended methods
|
100
100
|
def get( key ); unzip_value( super( key ), key) end
|
101
|
-
def set( key, value, options
|
101
|
+
def set( key, value, **options); super( key, zip_value(value, key), **options ) end
|
102
102
|
|
103
103
|
def mget(*args); unzip_arr_or_future(super(*args), args ) end
|
104
104
|
def mset(*args); super( *map_msets_arr(args) ) end
|
data/lib/me_redis.rb
CHANGED
@@ -17,17 +17,16 @@ require 'zlib'
|
|
17
17
|
module MeRedis
|
18
18
|
module ClassMethods
|
19
19
|
|
20
|
-
def configure( config
|
20
|
+
def configure( **config )
|
21
21
|
# at start they are nils, but at subsequent calls they may not be nils
|
22
22
|
me_config.key_zip_regxp = nil
|
23
23
|
me_config.compress_ns_regexp = nil
|
24
24
|
@zip_ns_finder = nil
|
25
25
|
|
26
|
-
config.each{ |key,value| me_config.send( "#{key}=", value ) } if config
|
26
|
+
config.each { |key,value| me_config.send( "#{key}=", value ) } if config
|
27
27
|
|
28
28
|
yield( me_config ) if block_given?
|
29
29
|
|
30
|
-
|
31
30
|
prepare_zip_crumbs
|
32
31
|
prepare_compressors
|
33
32
|
|
@@ -99,6 +98,7 @@ module MeRedis
|
|
99
98
|
|
100
99
|
def zip_ns_finder
|
101
100
|
return @zip_ns_finder if @zip_ns_finder
|
101
|
+
|
102
102
|
regexps_compress_ns = me_config.compress_namespaces.keys.select{|key| key.is_a?(Regexp) }
|
103
103
|
strs_compress_ns = me_config.compress_namespaces.keys.select{|key| !key.is_a?(Regexp) }
|
104
104
|
|
data/me-redis.gemspec
CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
28
|
spec.require_paths = ["lib"]
|
29
29
|
|
30
|
-
spec.add_dependency 'redis', '>= 3.0'
|
30
|
+
spec.add_dependency 'redis', '>= 3.0', '<= 4.5.1'
|
31
31
|
spec.add_dependency 'base62-rb'
|
32
32
|
spec.add_dependency "awesome_print"
|
33
33
|
|
data/ruby3.Dockerfile
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: me-redis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- alekseyl
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -17,6 +17,9 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.0'
|
20
|
+
- - "<="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 4.5.1
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,6 +27,9 @@ dependencies:
|
|
24
27
|
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '3.0'
|
30
|
+
- - "<="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 4.5.1
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: base62-rb
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,6 +143,7 @@ files:
|
|
137
143
|
- lib/me_redis/zip_to_hash.rb
|
138
144
|
- lib/me_redis/zip_values.rb
|
139
145
|
- me-redis.gemspec
|
146
|
+
- ruby3.Dockerfile
|
140
147
|
homepage: https://github.com/alekseyl/me-redis
|
141
148
|
licenses:
|
142
149
|
- MIT
|
@@ -157,8 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
164
|
- !ruby/object:Gem::Version
|
158
165
|
version: '0'
|
159
166
|
requirements: []
|
160
|
-
|
161
|
-
rubygems_version: 2.7.6
|
167
|
+
rubygems_version: 3.2.15
|
162
168
|
signing_key:
|
163
169
|
specification_version: 4
|
164
170
|
summary: Memory efficient redis extention
|