redis-dump 0.6.0 → 0.6.1

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
  SHA256:
3
- metadata.gz: bd6bb93f7ba8bf8297d3c1726ac91eda76d0f230a36cedf730d90bbdf815ab5f
4
- data.tar.gz: 31993502c019c5723073dcf1e3c0b0d2dbf187a1657d396261e0506a1870506f
3
+ metadata.gz: 5ae875f0b9d36b8e678c2bca1e61cab964b4e569082c3d2bcf9a011946fae691
4
+ data.tar.gz: ecd31cd6af2db2b240acd04feac2ac999f5b128feaa4ed590016aca9fa57cf5f
5
5
  SHA512:
6
- metadata.gz: e448efa86667cd48563fd1e50df277c686c963156db5465e17e333b542a04267b730c640ec96ed1323a1bd9378c252383890359bda11f89c6b973cafc84267d2
7
- data.tar.gz: 0ce386d440465041cc33f5a52a079272ad2c11080e757690887e46a3e3e944fa405065d0ab73063fe9666386be52a7ecf27e0835e277b2f0451387ae31aa8381
6
+ metadata.gz: 138c2807ba899096b173b6fb2fd5a82fde3cd90d0bcd5cd3f32d950ebffa39a6f56df8fafaba3c390862b6513f36bdc10c1259c14cbc5237dc2ffa688198e704
7
+ data.tar.gz: 76a7e3f910c9a5bc8af9ac7486952735db4aa8cb3b57934a98d5caf6ab362cad3b574b97ed59a639a0530872d1f1b96eff7435a854ec9a4b58caadeba1405ac9
data/CHANGES.txt CHANGED
@@ -1,5 +1,9 @@
1
1
  REDIS-DUMP, CHANGES
2
2
 
3
+ #### 0.6.1 (2024-06-17) ###############################
4
+
5
+ * FIXED: Gem path for redis-dump, redis-load, redis-report executables
6
+
3
7
  #### 0.6.0 (2024-06-17) ###############################
4
8
 
5
9
  * ADDED: Supports redis-rb 5.0
data/Gemfile.lock CHANGED
@@ -73,4 +73,4 @@ DEPENDENCIES
73
73
  yajl-ruby (>= 1.4.3)
74
74
 
75
75
  BUNDLED WITH
76
- 2.5.9
76
+ 2.5.13
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Redis::Dump - v0.6
1
+ # Redis::Dump - v0.6.0
2
2
 
3
3
  *Redis to JSON and back again. Dump and load Redis databases to/from JSON files.*
4
4
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  class Redis
4
4
  class Dump
5
- VERSION = "0.6.0"
5
+ VERSION = "0.6.1"
6
6
  end
7
7
  end
data/redis-dump.gemspec CHANGED
@@ -15,9 +15,9 @@ Gem::Specification.new do |spec|
15
15
  spec.required_ruby_version = Gem::Requirement.new(">= 2.7.8")
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
- f.match(%r{\A(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor})
18
+ f.match(%r{\A(?:bin|test|spec|features|try)/|\.(?:git|circleci)|appveyor|pre|rub})
19
19
  end
20
- spec.bindir = "bin"
21
- spec.executables = spec.files.grep(%r{\Abin/}) { |f| File.basename(f) }
20
+ spec.bindir = "exe"
21
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
  end
metadata CHANGED
@@ -1,24 +1,25 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-dump
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - delano
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-17 00:00:00.000000000 Z
11
+ date: 2024-06-18 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Backup and restore your Redis data to and from JSON by database, key,
14
14
  or key pattern.
15
15
  email: gems@solutious.com
16
- executables: []
16
+ executables:
17
+ - redis-dump
18
+ - redis-load
19
+ - redis-report
17
20
  extensions: []
18
21
  extra_rdoc_files: []
19
22
  files:
20
- - ".pre-commit-config.yaml"
21
- - ".rubocop.yml"
22
23
  - CHANGES.txt
23
24
  - Gemfile
24
25
  - Gemfile.lock
@@ -33,11 +34,6 @@ files:
33
34
  - lib/redis/dump/version.rb
34
35
  - redis-dump.gemspec
35
36
  - sig/redis/dump.rbs
36
- - try/10_redis_dump_try.rb
37
- - try/20_dump_specific_keys_try.rb
38
- - try/30_dump_base64_try.rb
39
- - try/db0.json
40
- - try/redis.conf
41
37
  homepage: https://rubygems.org/gems/redis-dump
42
38
  licenses:
43
39
  - MIT
@@ -1,69 +0,0 @@
1
- ##
2
- # Pre-Commit Configuration
3
- #
4
- # Initial setup:
5
- #
6
- # 0. Install the pre-commit framework (if it isn't already on your system):
7
-
8
- # $ pip install pre-commit
9
- #
10
- # 1. Install the git hook:
11
- #
12
- # $ pre-commit install
13
- #
14
- #
15
- # Other commands:
16
- #
17
- # Run it on all the files in this repo:
18
- # $ pre-commit run --all-files
19
- #
20
- # Updating plugin repositories:
21
- # $ pre-commit autoupdate
22
- #
23
- # Automatically enable pre-commit on repositories
24
- # $ git config --global init.templateDir ~/.git-template
25
- # $ pre-commit init-templatedir ~/.git-template
26
- #
27
- # See also:
28
- # - https://pre-commit.com for more information
29
- # - https://pre-commit.com/hooks.html for more hooks
30
- #
31
-
32
- default_install_hook_types:
33
- - pre-commit
34
- - prepare-commit-msg
35
-
36
- fail_fast: true
37
-
38
- repos:
39
- - repo: meta
40
- hooks:
41
- - id: check-hooks-apply
42
- - id: check-useless-excludes
43
- - id: identity
44
-
45
- - repo: https://github.com/pre-commit/pre-commit-hooks
46
- rev: v4.6.0
47
- hooks:
48
- - id: trailing-whitespace
49
- - id: end-of-file-fixer
50
- - id: check-yaml
51
- - id: detect-private-key
52
- - id: mixed-line-ending
53
- - id: check-added-large-files
54
- args: ["--maxkb=1000"]
55
- - id: no-commit-to-branch
56
- args: ["--branch", "develop", "--branch", "rel/.*"]
57
- - id: check-merge-conflict
58
- - id: forbid-submodules
59
-
60
- - repo: https://github.com/avilaton/add-msg-issue-prefix-hook
61
- rev: v0.0.11
62
- hooks:
63
- - id: add-msg-issue-prefix
64
- stages: [prepare-commit-msg]
65
- name: Link commit to Github issue
66
- args:
67
- - "--default=[NOJIRA]"
68
- - "--pattern=[a-zA-Z0-9]{0,10}-?[0-9]{1,5}"
69
- - "--template=[#{}]"
data/.rubocop.yml DELETED
@@ -1,13 +0,0 @@
1
- AllCops:
2
- TargetRubyVersion: 2.7.5
3
-
4
- Style/StringLiterals:
5
- Enabled: true
6
- EnforcedStyle: double_quotes
7
-
8
- Style/StringLiteralsInInterpolation:
9
- Enabled: true
10
- EnforcedStyle: double_quotes
11
-
12
- Layout/LineLength:
13
- Max: 120
@@ -1,65 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../lib/redis/dump'
4
-
5
- # The test instance of redis must be running:
6
- # $ redis-server try/redis.conf
7
-
8
- @uri_base = "redis://127.0.0.1:6379"
9
-
10
- Redis::Dump.debug = false
11
- Redis::Dump.safe = true
12
-
13
-
14
- ## Connect to DB
15
- @rdump = Redis::Dump.new 0, @uri_base
16
- @rdump.redis_connections.size
17
- #=> 1
18
-
19
- ## Populate
20
- @rdump.redis(0).set 'stringkey', 'stringvalue'
21
- @rdump.redis(0).expire 'stringkey', 100
22
- @rdump.redis(0).hset 'hashkey', 'field_a', 'value_a'
23
- @rdump.redis(0).hset 'hashkey', 'field_b', 'value_b'
24
- @rdump.redis(0).hset 'hashkey', 'field_c', 'value_c'
25
- 3.times { |idx| @rdump.redis(0).rpush 'listkey', "value_#{idx}" }
26
- 4.times { |idx| @rdump.redis(0).sadd? 'setkey', "value_#{idx}" }
27
- 5.times { |idx| @rdump.redis(0).zadd 'zsetkey', idx.zero? ? 100 : 100*idx, "value_#{idx}" }
28
- @rdump.redis(0).keys.size
29
- #=> 5
30
-
31
- ## Can dump
32
- @values = @rdump.dump
33
- @values.size
34
- #=> 5
35
-
36
- ## Can load data
37
- @rdump.load @values.join
38
- @rdump.redis(0).keys.size
39
- #=> 5
40
-
41
- ## DB 0 content matches previous dump content
42
- values = @rdump.dump
43
- [values[0], values.size]
44
- #=> [@values[0], @values.size]
45
-
46
- ## Won't load data in safe mode if records exist
47
- @rdump.load @values.join
48
- #=> 0
49
-
50
- ## Will load data if records exist and safe mode is disabled
51
- Redis::Dump.safe = false
52
- @rdump.load @values.join
53
- #=> 5
54
-
55
- ## Clear DB 0
56
- db0 = Redis::Dump.new 0, @uri_base
57
- db0.redis(0).flushdb
58
- db0.redis(0).keys.size
59
- #=> 0
60
-
61
- ## Clear DB 0 in safe mode
62
- Redis::Dump.safe = true
63
- db0 = Redis::Dump.new 0, @uri_base
64
- db0.redis(0).flushdb
65
- #=> "OK"
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../lib/redis/dump'
4
-
5
- # The test instance of redis must be running:
6
- # $ redis-server try/redis.conf
7
-
8
- @uri_base = "redis://127.0.0.1:6379"
9
-
10
- Redis::Dump.debug = false
11
- Redis::Dump.safe = true
12
-
13
-
14
- ## Connect to DB
15
- @rdump = Redis::Dump.new 0..1, @uri_base
16
- @rdump.redis_connections.size
17
- #=> 2
18
-
19
- ## Populate
20
- 3.times { |idx| @rdump.redis(0).set "gloria:#{idx}", "gloria_value[#{idx}]" } # yp.ca
21
- 4.times { |idx| @rdump.redis(0).set "pamela:#{idx}", "pamela_value[#{idx}]" } # soap web service
22
- 2.times { |idx| @rdump.redis(1).set "nikola:#{idx}", "nikola_value[#{idx}]" } # m.yp.ca log analyzer
23
- [@rdump.redis(0).keys.size, @rdump.redis(1).keys.size]
24
- #=> [7, 2]
25
-
26
- ## Generate a list of keys
27
- @keys = @rdump.redis(0).keys('*gloria*').collect { |key| URI.parse "#{@uri_base}/0/#{key}" }
28
- @keys.push *@rdump.redis(1).keys('*nikola*').collect { |key| URI.parse "#{@uri_base}/1/#{key}" }
29
- @keys.size
30
- #=> 5
31
-
32
- ## Dump these specific keys
33
- @rdump.dump('*gloria*').sort
34
- #=> ['{"db":0,"key":"gloria:0","ttl":-1,"type":"string","value":"gloria_value[0]","size":15}','{"db":0,"key":"gloria:1","ttl":-1,"type":"string","value":"gloria_value[1]","size":15}','{"db":0,"key":"gloria:2","ttl":-1,"type":"string","value":"gloria_value[2]","size":15}']
35
-
36
- Redis::Dump.safe = true
37
- db0 = Redis::Dump.new 0..1, @uri_base
38
- db0.redis(0).flushdb
39
- db0.redis(1).flushdb
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../lib/redis/dump'
4
- # require 'pry-byebug'
5
-
6
- # The test instance of redis must be running:
7
- # $ redis-server try/redis.conf
8
-
9
- @uri_base = "redis://127.0.0.1:6379"
10
-
11
- Redis::Dump.debug = true # leave enabled for CI workflow
12
- Redis::Dump.safe = true
13
- Redis::Dump.with_base64 = true
14
-
15
- ## Connect to DB
16
- @rdump = Redis::Dump.new 0..1, @uri_base
17
- @rdump.redis_connections.size
18
- #=> 2
19
-
20
- ## Populate
21
- @rdump.redis(0).set 'stringkey1', 'stringvalue1'
22
- @rdump.redis(0).set 'stringkey2', 'stringvalue2'
23
- @rdump.redis(0).keys.size
24
- #=> 2
25
-
26
- ## Values are base64 encoded when with_base64=true
27
- @values = @rdump.dump
28
- # Check for values without relying on the order the keys were returned in
29
- encoded_str = "{\"db\":0,\"key\":\"stringkey1\",\"ttl\":-1,\"type\":\"string\",\"value\":\"c3RyaW5ndmFsdWUx\\n\",\"size\":12}"
30
- encoded_str2 = "{\"db\":0,\"key\":\"stringkey2\",\"ttl\":-1,\"type\":\"string\",\"value\":\"c3RyaW5ndmFsdWUy\\n\",\"size\":12}"
31
- [@values.include?(encoded_str), @values.include?(encoded_str2)]
32
- #=> [true, true]
33
-
34
- ## Can dump
35
- @values = @rdump.dump
36
- @values.size
37
- #=> 2
38
-
39
- ## Can load data
40
- @rdump.load @values.join
41
- @rdump.redis(0).keys.size
42
- #=> 2
43
-
44
- # Clear DB 0
45
- db0 = Redis::Dump.new 0, @uri_base
46
- db0.redis(0).flushdb
47
- db0.redis(0).keys.size
48
- ##=> 0
49
-
50
- Redis::Dump.safe = true
51
- db0 = Redis::Dump.new 0, @uri_base
52
- db0.redis(0).flushdb
data/try/db0.json DELETED
@@ -1,5 +0,0 @@
1
- {"db":0,"key":"hashkey","ttl":-1,"type":"hash","value":{"field_a":"value_a","field_b":"value_b","field_c":"value_c"},"size":42}
2
- {"db":0,"key":"listkey","ttl":-1,"type":"list","value":["value_0","value_1","value_2","value_0","value_1","value_2"],"size":42}
3
- {"db":0,"key":"setkey","ttl":-1,"type":"set","value":["value_2","value_0","value_1","value_3"],"size":28}
4
- {"db":0,"key":"zsetkey","ttl":-1,"type":"zset","value":[["value_0","100"],["value_1","100"],["value_2","200"],["value_3","300"],["value_4","400"]],"size":50}
5
- {"db":0,"key":"stringkey","ttl":79,"type":"string","value":"stringvalue","size":11}
data/try/redis.conf DELETED
@@ -1,35 +0,0 @@
1
- # redis-dump redis config
2
- # 2017-11-09
3
-
4
- dir /tmp
5
- pidfile redisdump-test.pid
6
- logfile redisdump-test.log
7
- dbfilename redisdump-test.rdb
8
-
9
- # requirepass @/
10
-
11
- bind 127.0.0.1
12
- port 6379
13
- databases 16
14
-
15
- timeout 30
16
- daemonize yes
17
- loglevel notice
18
-
19
- # FOR LIGHT TRAFFIC:
20
- #save 300 10
21
- #save 120 100
22
- #save 60 1000
23
-
24
- # NOTE: we need something here to force redis to save
25
- # when it receives a SHUTDOWN command. 157680000 is 5 yrs.
26
- # REMOVE IT ONLY IF YOU PLAN TO ALWAYS MOVE
27
- # AN RDB FILE INTO PLACE EVERY RESTART!
28
- save 157680000 1
29
-
30
- rdbcompression yes
31
-
32
- appendonly no
33
-
34
- # appendfsync is one of always, everysec, no
35
- appendfsync everysec