Redis Object Cache - Version 2.0.7

Version Description

  • Fixed issue with wp_cache_get_multiple()
Download this release

Release Info

Developer tillkruess
Plugin Icon 128x128 Redis Object Cache
Version 2.0.7
Comparing to
See all releases

Code changes from version 2.0.5 to 2.0.7

includes/class-plugin.php CHANGED
@@ -7,6 +7,7 @@
7
 
8
  namespace Rhubarb\RedisCache;
9
 
 
10
  use Exception;
11
 
12
  defined( '\\ABSPATH' ) || exit;
@@ -242,6 +243,8 @@ class Plugin {
242
  'rediscache',
243
  array(
244
  'jQuery' => 'jQuery',
 
 
245
  'l10n' => array(
246
  'time' => __( 'Time', 'redis-cache' ),
247
  'bytes' => __( 'Bytes', 'redis-cache' ),
@@ -797,6 +800,48 @@ class Plugin {
797
  return true;
798
  }
799
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
800
  public function maybe_update_dropin() {
801
  if ( defined( 'WP_REDIS_DISABLE_DROPIN_AUTOUPDATE' ) && WP_REDIS_DISABLE_DROPIN_AUTOUPDATE ) {
802
  return;
7
 
8
  namespace Rhubarb\RedisCache;
9
 
10
+ use WP_Error;
11
  use Exception;
12
 
13
  defined( '\\ABSPATH' ) || exit;
243
  'rediscache',
244
  array(
245
  'jQuery' => 'jQuery',
246
+ 'disable_pro' => $screen->id !== $this->screen,
247
+ 'disable_banners' => defined( 'WP_REDIS_DISABLE_BANNERS' ) && WP_REDIS_DISABLE_BANNERS,
248
  'l10n' => array(
249
  'time' => __( 'Time', 'redis-cache' ),
250
  'bytes' => __( 'Bytes', 'redis-cache' ),
800
  return true;
801
  }
802
 
803
+ public function test_filesystem_writing()
804
+ {
805
+ global $wp_filesystem;
806
+
807
+ if ( ! $this->initialize_filesystem( '', true ) ) {
808
+ return new WP_Error( 'fs', __( 'Could not initialize filesystem.', 'redis-cache' ) );
809
+ }
810
+
811
+ $cachefile = WP_REDIS_PLUGIN_PATH . '/includes/object-cache.php';
812
+ $testfile = WP_CONTENT_DIR . '/.redis-write-test.tmp';
813
+
814
+ if ( ! $wp_filesystem->exists( $cachefile ) ) {
815
+ return new WP_Error( 'exists', __( 'Object cache file doesn’t exist.', 'redis-cache' ) );
816
+ }
817
+
818
+ if ( $wp_filesystem->exists( $testfile ) ) {
819
+ if ( ! $wp_filesystem->delete( $testfile ) ) {
820
+ return new WP_Error( 'delete', __( 'Test file exists, but couldn’t be deleted.', 'redis-cache' ) );
821
+ }
822
+ }
823
+
824
+ if ( ! $wp_filesystem->copy( $cachefile, $testfile, true, FS_CHMOD_FILE ) ) {
825
+ return new WP_Error( 'copy', __( 'Failed to copy test file.', 'redis-cache' ) );
826
+ }
827
+
828
+ if ( ! $wp_filesystem->exists( $testfile ) ) {
829
+ return new WP_Error( 'exists', __( 'Copied test file doesn’t exist.', 'redis-cache' ) );
830
+ }
831
+
832
+ $meta = get_file_data( $testfile, [ 'Version' => 'Version' ] );
833
+
834
+ if ( $meta['Version'] !== WP_REDIS_VERSION ) {
835
+ return new WP_Error( 'version', __( 'Couldn’t verify test file contents.', 'redis-cache' ) );
836
+ }
837
+
838
+ if ( ! $wp_filesystem->delete( $testfile ) ) {
839
+ return new WP_Error( 'delete', __( 'Copied test file couldn’t be deleted.', 'redis-cache' ) );
840
+ }
841
+
842
+ return true;
843
+ }
844
+
845
  public function maybe_update_dropin() {
846
  if ( defined( 'WP_REDIS_DISABLE_DROPIN_AUTOUPDATE' ) && WP_REDIS_DISABLE_DROPIN_AUTOUPDATE ) {
847
  return;
includes/class-ui.php CHANGED
@@ -36,7 +36,6 @@ class UI {
36
  'label' => $label,
37
  'file' => WP_REDIS_PLUGIN_PATH . "/includes/ui/tabs/{$slug}.php",
38
  'slug' => $slug,
39
- 'target' => "#{$slug}",
40
  'default' => false,
41
  ]
42
  );
36
  'label' => $label,
37
  'file' => WP_REDIS_PLUGIN_PATH . "/includes/ui/tabs/{$slug}.php",
38
  'slug' => $slug,
 
39
  'default' => false,
40
  ]
41
  );
includes/object-cache.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Redis Object Cache Drop-In
4
  * Plugin URI: http://wordpress.org/plugins/redis-cache/
5
  * Description: A persistent object cache backend powered by Redis. Supports Predis, PhpRedis, Credis, HHVM, replication, clustering and WP-CLI.
6
- * Version: 2.0.5
7
  * Author: Till Krüss
8
  * Author URI: https://wprediscache.com
9
  * License: GPLv3
@@ -1041,7 +1041,7 @@ class WP_Object_Cache {
1041
  do_action( 'redis_object_cache_delete', $key, $group, $execute_time );
1042
  }
1043
 
1044
- return $result;
1045
  }
1046
 
1047
  /**
@@ -1355,27 +1355,31 @@ LUA;
1355
  return $cache;
1356
  }
1357
 
1358
- $keys = array_values( $derived_keys );
1359
-
1360
  if ( ! $force ) {
1361
  foreach ( $keys as $key ) {
1362
- $cache[ $key ] = $this->get_from_internal_cache( $derived_keys[ $key ] );
 
 
 
 
 
 
 
1363
  }
 
1364
 
1365
- $keys = array_keys(
1366
- array_filter(
1367
- $cache,
1368
- function ( $value ) {
1369
- return $value === false;
1370
- }
1371
- )
1372
- );
1373
  }
1374
 
1375
  $start_time = microtime( true );
1376
 
1377
  try {
1378
- $results = array_combine( $keys, $this->redis->mget( $keys ) );
1379
  } catch ( Exception $exception ) {
1380
  $this->handle_exception( $exception );
1381
 
@@ -1388,21 +1392,21 @@ LUA;
1388
  $this->cache_time += $execute_time;
1389
 
1390
  foreach ( $results as $key => $value ) {
 
 
1391
  if ( $value === false ) {
1392
  $this->cache_misses++;
1393
- continue;
1394
- }
1395
-
1396
- $this->cache_hits++;
1397
 
1398
- $cache[ $key ] = $value;
1399
- $this->add_to_internal_cache( $derived_keys[ $key ], $value );
1400
  }
1401
 
1402
  $cache = array_map( array( $this, 'maybe_unserialize' ), $cache );
1403
 
1404
  if ( function_exists( 'do_action' ) ) {
1405
- do_action( 'redis_object_cache_get_multi', $keys, $cache, $group, $force, $execute_time );
1406
  }
1407
 
1408
  if ( function_exists( 'apply_filters' ) && function_exists( 'has_filter' ) ) {
3
  * Plugin Name: Redis Object Cache Drop-In
4
  * Plugin URI: http://wordpress.org/plugins/redis-cache/
5
  * Description: A persistent object cache backend powered by Redis. Supports Predis, PhpRedis, Credis, HHVM, replication, clustering and WP-CLI.
6
+ * Version: 2.0.7
7
  * Author: Till Krüss
8
  * Author URI: https://wprediscache.com
9
  * License: GPLv3
1041
  do_action( 'redis_object_cache_delete', $key, $group, $execute_time );
1042
  }
1043
 
1044
+ return (bool) $result;
1045
  }
1046
 
1047
  /**
1355
  return $cache;
1356
  }
1357
 
 
 
1358
  if ( ! $force ) {
1359
  foreach ( $keys as $key ) {
1360
+ $value = $this->get_from_internal_cache( $derived_keys[ $key ] );
1361
+
1362
+ if ( $value === false ) {
1363
+ $this->cache_misses++;
1364
+ } else {
1365
+ $cache[ $key ] = $value;
1366
+ $this->cache_hits++;
1367
+ }
1368
  }
1369
+ }
1370
 
1371
+ $remaining_keys = array_filter( $keys, function ( $key ) use ( $cache ) {
1372
+ return ! isset( $cache[ $key ] );
1373
+ } );
1374
+
1375
+ if ( empty( $remaining_keys ) ) {
1376
+ return $cache;
 
 
1377
  }
1378
 
1379
  $start_time = microtime( true );
1380
 
1381
  try {
1382
+ $results = array_combine( $remaining_keys, $this->redis->mget( $remaining_keys ) );
1383
  } catch ( Exception $exception ) {
1384
  $this->handle_exception( $exception );
1385
 
1392
  $this->cache_time += $execute_time;
1393
 
1394
  foreach ( $results as $key => $value ) {
1395
+ $cache[ $key ] = $value;
1396
+
1397
  if ( $value === false ) {
1398
  $this->cache_misses++;
1399
+ } else {
1400
+ $this->cache_hits++;
 
 
1401
 
1402
+ $this->add_to_internal_cache( $derived_keys[ $key ], $value );
1403
+ }
1404
  }
1405
 
1406
  $cache = array_map( array( $this, 'maybe_unserialize' ), $cache );
1407
 
1408
  if ( function_exists( 'do_action' ) ) {
1409
+ do_action( 'redis_object_cache_get_multiple', $keys, $cache, $group, $force, $execute_time );
1410
  }
1411
 
1412
  if ( function_exists( 'apply_filters' ) && function_exists( 'has_filter' ) ) {
includes/ui/diagnostics.php CHANGED
@@ -10,6 +10,7 @@ defined( '\\ABSPATH' ) || exit;
10
  global $wp_object_cache;
11
 
12
  $info = [];
 
13
  $dropin = $plugin->validate_object_cache_dropin();
14
  $disabled = defined( 'WP_REDIS_DISABLED' ) && WP_REDIS_DISABLED;
15
 
@@ -17,6 +18,7 @@ $info['Status'] = $plugin->get_status();
17
  $info['Client'] = $plugin->get_redis_client_name();
18
  $info['Drop-in'] = $dropin ? 'Valid' : 'Invalid';
19
  $info['Disabled'] = $disabled ? 'Yes' : 'No';
 
20
 
21
  if ( $dropin && ! $disabled ) {
22
  $info[ 'Ping' ] = $wp_object_cache->diagnostics[ 'ping' ];
@@ -49,7 +51,6 @@ $info['Plugin Version'] = WP_REDIS_VERSION;
49
  $info['Redis Version'] = $plugin->get_redis_version() ?: 'Unknown';
50
 
51
  $info['Multisite'] = is_multisite() ? 'Yes' : 'No';
52
- $info['Filesystem'] = $plugin->initialize_filesystem( '', true ) ? 'Yes' : 'No';
53
 
54
  if ( $dropin ) {
55
  $info['Global Prefix'] = wp_json_encode( $wp_object_cache->global_prefix );
10
  global $wp_object_cache;
11
 
12
  $info = [];
13
+ $filesystem = $plugin->test_filesystem_writing();
14
  $dropin = $plugin->validate_object_cache_dropin();
15
  $disabled = defined( 'WP_REDIS_DISABLED' ) && WP_REDIS_DISABLED;
16
 
18
  $info['Client'] = $plugin->get_redis_client_name();
19
  $info['Drop-in'] = $dropin ? 'Valid' : 'Invalid';
20
  $info['Disabled'] = $disabled ? 'Yes' : 'No';
21
+ $info['Filesystem'] = is_wp_error( $filesystem ) ? $filesystem->get_error_message() : 'Working';
22
 
23
  if ( $dropin && ! $disabled ) {
24
  $info[ 'Ping' ] = $wp_object_cache->diagnostics[ 'ping' ];
51
  $info['Redis Version'] = $plugin->get_redis_version() ?: 'Unknown';
52
 
53
  $info['Multisite'] = is_multisite() ? 'Yes' : 'No';
 
54
 
55
  if ( $dropin ) {
56
  $info['Global Prefix'] = wp_json_encode( $wp_object_cache->global_prefix );
includes/ui/settings.php CHANGED
@@ -24,22 +24,22 @@ defined( '\\ABSPATH' ) || exit;
24
 
25
  <div class="content-column">
26
 
27
- <h2 class="nav-tab-wrapper" id="redis-tabs">
28
  <?php foreach ( UI::get_tabs() as $ui_tab ) : ?>
29
  <a class="nav-tab <?php echo $ui_tab->default ? 'nav-tab-active' : ''; ?>"
30
  id="<?php echo esc_attr( $ui_tab->slug ); ?>-tab"
31
- data-target="<?php echo esc_attr( $ui_tab->target ); ?>"
32
- href="<?php echo esc_attr( $ui_tab->target ); ?>"
33
  >
34
  <?php echo esc_html( $ui_tab->label ); ?>
35
  </a>
36
  <?php endforeach; ?>
37
  </h2>
38
 
39
- <div class="sections">
40
  <?php foreach ( UI::get_tabs() as $ui_tab ) : ?>
41
- <div id="<?php echo esc_attr( $ui_tab->slug ); ?>"
42
- class="section section-<?php echo esc_attr( $ui_tab->slug ); ?> <?php echo $ui_tab->default ? ' active' : ''; ?>"
43
  >
44
  <?php include $ui_tab->file; ?>
45
  </div>
@@ -133,16 +133,22 @@ defined( '\\ABSPATH' ) || exit;
133
 
134
  </div>
135
 
136
- <!-- <div class="section-support">
137
 
138
  <div class="card">
139
  <h2 class="title">
140
- <?php esc_html_e('Support', 'redis-cache'); ?>
141
  </h2>
 
 
 
 
 
142
  <p>
143
  This plugin is maintained and supported <a target="_blank" rel="noopener" href="https://github.com/rhubarbgroup/redis-cache">on GitHub</a>,
144
  and its connection parameters and configuration options are outlined in the documentation.
145
  </p>
 
146
  <p>
147
  <a class="button button-secondary" target="_blank" rel="noopener" href="https://github.com/rhubarbgroup/redis-cache/wiki">
148
  <?php esc_html_e('Documentation', 'redis-cache'); ?>
@@ -156,7 +162,7 @@ defined( '\\ABSPATH' ) || exit;
156
  </p>
157
  </div>
158
 
159
- </div> -->
160
 
161
  </div>
162
 
24
 
25
  <div class="content-column">
26
 
27
+ <h2 class="nav-tab-wrapper">
28
  <?php foreach ( UI::get_tabs() as $ui_tab ) : ?>
29
  <a class="nav-tab <?php echo $ui_tab->default ? 'nav-tab-active' : ''; ?>"
30
  id="<?php echo esc_attr( $ui_tab->slug ); ?>-tab"
31
+ data-toggle="<?php echo esc_attr( $ui_tab->slug ); ?>"
32
+ href="<?php echo esc_attr( $ui_tab->slug ); ?>"
33
  >
34
  <?php echo esc_html( $ui_tab->label ); ?>
35
  </a>
36
  <?php endforeach; ?>
37
  </h2>
38
 
39
+ <div class="tab-content">
40
  <?php foreach ( UI::get_tabs() as $ui_tab ) : ?>
41
+ <div id="<?php echo esc_attr( $ui_tab->slug ); ?>-pane"
42
+ class="tab-pane tab-pane-<?php echo esc_attr( $ui_tab->slug ); ?> <?php echo $ui_tab->default ? 'active' : ''; ?>"
43
  >
44
  <?php include $ui_tab->file; ?>
45
  </div>
133
 
134
  </div>
135
 
136
+ <div class="section-support">
137
 
138
  <div class="card">
139
  <h2 class="title">
140
+ <?php esc_html_e('Support & Updates', 'redis-cache'); ?>
141
  </h2>
142
+
143
+ <p>
144
+ Stay up to date with the development of this plugin and test new releases...
145
+ </p>
146
+
147
  <p>
148
  This plugin is maintained and supported <a target="_blank" rel="noopener" href="https://github.com/rhubarbgroup/redis-cache">on GitHub</a>,
149
  and its connection parameters and configuration options are outlined in the documentation.
150
  </p>
151
+
152
  <p>
153
  <a class="button button-secondary" target="_blank" rel="noopener" href="https://github.com/rhubarbgroup/redis-cache/wiki">
154
  <?php esc_html_e('Documentation', 'redis-cache'); ?>
162
  </p>
163
  </div>
164
 
165
+ </div>
166
 
167
  </div>
168
 
languages/redis-cache.pot CHANGED
@@ -2,21 +2,21 @@
2
  # This file is distributed under the GPLv3.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Redis Object Cache 2.0.5\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/redis-cache\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2020-07-20T16:15:40+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: redis-cache\n"
16
 
17
  #. Plugin Name of the plugin
18
- #: includes/class-plugin.php:105
19
- #: includes/class-plugin.php:176
20
  #: includes/ui/settings.php:18
21
  msgid "Redis Object Cache"
22
  msgstr ""
@@ -37,156 +37,184 @@ msgstr ""
37
  msgid "https://wprediscache.com"
38
  msgstr ""
39
 
40
- #: includes/class-plugin.php:106
41
  msgid "Redis"
42
  msgstr ""
43
 
44
- #: includes/class-plugin.php:128
45
  msgid "Flush Object Cache"
46
  msgstr ""
47
 
48
- #: includes/class-plugin.php:131
49
  msgid "Flush the Redis object cache"
50
  msgstr ""
51
 
52
- #: includes/class-plugin.php:157
53
  #: includes/ui/tabs/overview.php:22
54
  msgid "Overview"
55
  msgstr ""
56
 
57
- #: includes/class-plugin.php:160
58
  msgid "Metrics"
59
  msgstr ""
60
 
61
- #: includes/class-plugin.php:163
62
  msgid "Diagnostics"
63
  msgstr ""
64
 
65
- #: includes/class-plugin.php:188
66
  msgid "Settings"
67
  msgstr ""
68
 
69
- #: includes/class-plugin.php:246
70
  #: includes/ui/tabs/metrics.php:17
71
  #: includes/ui/widget.php:16
72
  msgid "Time"
73
  msgstr ""
74
 
75
- #: includes/class-plugin.php:247
76
  #: includes/ui/tabs/metrics.php:22
77
  #: includes/ui/widget.php:21
78
  msgid "Bytes"
79
  msgstr ""
80
 
81
- #: includes/class-plugin.php:248
82
  #: includes/ui/tabs/metrics.php:27
83
  #: includes/ui/widget.php:26
84
  msgid "Ratio"
85
  msgstr ""
86
 
87
- #: includes/class-plugin.php:249
88
  #: includes/ui/tabs/metrics.php:32
89
  #: includes/ui/widget.php:31
90
  msgid "Calls"
91
  msgstr ""
92
 
93
- #: includes/class-plugin.php:250
94
  msgid "Not enough data collected, yet."
95
  msgstr ""
96
 
97
- #: includes/class-plugin.php:251
98
  msgid "Enable object cache to collect data."
99
  msgstr ""
100
 
101
- #: includes/class-plugin.php:354
102
  #: includes/class-qm-collector.php:48
103
  msgid "Disabled"
104
  msgstr ""
105
 
106
- #: includes/class-plugin.php:359
107
  msgid "Connected"
108
  msgstr ""
109
 
110
- #: includes/class-plugin.php:363
111
  msgid "Not Connected"
112
  msgstr ""
113
 
114
- #: includes/class-plugin.php:367
115
  #: includes/ui/tabs/overview.php:248
116
  msgid "Unknown"
117
  msgstr ""
118
 
119
  #. translators: %s = Action link to update the drop-in
120
- #: includes/class-plugin.php:446
121
  msgid "The Redis object cache drop-in is outdated. Please <a href=\"%s\">update the drop-in</a>."
122
  msgstr ""
123
 
124
  #. translators: %s = Action link to update the drop-in
125
- #: includes/class-plugin.php:450
126
  msgid "A foreign object cache drop-in was found. To use Redis for object caching, please <a href=\"%s\">enable the drop-in</a>."
127
  msgstr ""
128
 
129
- #: includes/class-plugin.php:480
130
  msgid "Object cache flushed."
131
  msgstr ""
132
 
133
- #: includes/class-plugin.php:486
134
  msgid "Object cache could not be flushed."
135
  msgstr ""
136
 
137
- #: includes/class-plugin.php:508
138
  #: includes/cli/class-commands.php:74
139
  msgid "Object cache enabled."
140
  msgstr ""
141
 
142
- #: includes/class-plugin.php:514
143
  #: includes/cli/class-commands.php:76
144
  msgid "Object cache could not be enabled."
145
  msgstr ""
146
 
147
- #: includes/class-plugin.php:527
148
  #: includes/cli/class-commands.php:113
149
  msgid "Object cache disabled."
150
  msgstr ""
151
 
152
- #: includes/class-plugin.php:532
153
  #: includes/cli/class-commands.php:115
154
  msgid "Object cache could not be disabled."
155
  msgstr ""
156
 
157
- #: includes/class-plugin.php:551
158
  #: includes/cli/class-commands.php:147
159
  msgid "Updated object cache drop-in and enabled Redis object cache."
160
  msgstr ""
161
 
162
- #: includes/class-plugin.php:557
163
  #: includes/cli/class-commands.php:149
164
  msgid "Object cache drop-in could not be updated."
165
  msgstr ""
166
 
167
- #: includes/class-plugin.php:610
168
  msgid "Redis Cache Pro is out!"
169
  msgstr ""
170
 
171
  #. translators: %s = Link to the plugin setting screen
172
- #: includes/class-plugin.php:613
173
  msgid "A <u>business class</u> object cache backend. Truly reliable, highly-optimized and fully customizable, with a <u>dedicated engineer</u> when you most need it. <a href=\"%s\">Learn more »</a>"
174
  msgstr ""
175
 
176
- #: includes/class-plugin.php:644
177
  msgid "Redis Cache Pro + WooCommerce = ❤️"
178
  msgstr ""
179
 
180
  #. translators: %s = Link to the plugin's settings screen
181
- #: includes/class-plugin.php:647
182
  msgid "Redis Cache Pro is a <u>business class</u> object cache that’s highly-optimized for WooCommerce to provide true reliability, peace of mind and faster load times for your store. <a style=\"color: #bb77ae;\" href=\"%s\">Learn more »</a>"
183
  msgstr ""
184
 
185
  #. translators: %1$d = number of objects. %2$s = human-readable size of cache. %3$s = name of the used client.
186
- #: includes/class-plugin.php:765
187
  msgid "Retrieved %1$d objects (%2$s) from Redis using %3$s."
188
  msgstr ""
189
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  #: includes/class-qm-collector.php:19
191
  msgid "Object Cache"
192
  msgstr ""
@@ -288,14 +316,17 @@ msgid "The current version of the PhpRedis extension (%s) is too old. PhpRedis 3
288
  msgstr ""
289
 
290
  #: includes/ui/settings.php:140
291
- #: includes/ui/settings.php:154
292
- msgid "Support"
293
  msgstr ""
294
 
295
- #: includes/ui/settings.php:148
296
  msgid "Documentation"
297
  msgstr ""
298
 
 
 
 
 
299
  #: includes/ui/tabs/overview.php:29
300
  msgid "Client:"
301
  msgstr ""
2
  # This file is distributed under the GPLv3.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Redis Object Cache 2.0.7\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/redis-cache\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2020-07-28T14:33:53+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: redis-cache\n"
16
 
17
  #. Plugin Name of the plugin
18
+ #: includes/class-plugin.php:106
19
+ #: includes/class-plugin.php:177
20
  #: includes/ui/settings.php:18
21
  msgid "Redis Object Cache"
22
  msgstr ""
37
  msgid "https://wprediscache.com"
38
  msgstr ""
39
 
40
+ #: includes/class-plugin.php:107
41
  msgid "Redis"
42
  msgstr ""
43
 
44
+ #: includes/class-plugin.php:129
45
  msgid "Flush Object Cache"
46
  msgstr ""
47
 
48
+ #: includes/class-plugin.php:132
49
  msgid "Flush the Redis object cache"
50
  msgstr ""
51
 
52
+ #: includes/class-plugin.php:158
53
  #: includes/ui/tabs/overview.php:22
54
  msgid "Overview"
55
  msgstr ""
56
 
57
+ #: includes/class-plugin.php:161
58
  msgid "Metrics"
59
  msgstr ""
60
 
61
+ #: includes/class-plugin.php:164
62
  msgid "Diagnostics"
63
  msgstr ""
64
 
65
+ #: includes/class-plugin.php:189
66
  msgid "Settings"
67
  msgstr ""
68
 
69
+ #: includes/class-plugin.php:249
70
  #: includes/ui/tabs/metrics.php:17
71
  #: includes/ui/widget.php:16
72
  msgid "Time"
73
  msgstr ""
74
 
75
+ #: includes/class-plugin.php:250
76
  #: includes/ui/tabs/metrics.php:22
77
  #: includes/ui/widget.php:21
78
  msgid "Bytes"
79
  msgstr ""
80
 
81
+ #: includes/class-plugin.php:251
82
  #: includes/ui/tabs/metrics.php:27
83
  #: includes/ui/widget.php:26
84
  msgid "Ratio"
85
  msgstr ""
86
 
87
+ #: includes/class-plugin.php:252
88
  #: includes/ui/tabs/metrics.php:32
89
  #: includes/ui/widget.php:31
90
  msgid "Calls"
91
  msgstr ""
92
 
93
+ #: includes/class-plugin.php:253
94
  msgid "Not enough data collected, yet."
95
  msgstr ""
96
 
97
+ #: includes/class-plugin.php:254
98
  msgid "Enable object cache to collect data."
99
  msgstr ""
100
 
101
+ #: includes/class-plugin.php:357
102
  #: includes/class-qm-collector.php:48
103
  msgid "Disabled"
104
  msgstr ""
105
 
106
+ #: includes/class-plugin.php:362
107
  msgid "Connected"
108
  msgstr ""
109
 
110
+ #: includes/class-plugin.php:366
111
  msgid "Not Connected"
112
  msgstr ""
113
 
114
+ #: includes/class-plugin.php:370
115
  #: includes/ui/tabs/overview.php:248
116
  msgid "Unknown"
117
  msgstr ""
118
 
119
  #. translators: %s = Action link to update the drop-in
120
+ #: includes/class-plugin.php:449
121
  msgid "The Redis object cache drop-in is outdated. Please <a href=\"%s\">update the drop-in</a>."
122
  msgstr ""
123
 
124
  #. translators: %s = Action link to update the drop-in
125
+ #: includes/class-plugin.php:453
126
  msgid "A foreign object cache drop-in was found. To use Redis for object caching, please <a href=\"%s\">enable the drop-in</a>."
127
  msgstr ""
128
 
129
+ #: includes/class-plugin.php:483
130
  msgid "Object cache flushed."
131
  msgstr ""
132
 
133
+ #: includes/class-plugin.php:489
134
  msgid "Object cache could not be flushed."
135
  msgstr ""
136
 
137
+ #: includes/class-plugin.php:511
138
  #: includes/cli/class-commands.php:74
139
  msgid "Object cache enabled."
140
  msgstr ""
141
 
142
+ #: includes/class-plugin.php:517
143
  #: includes/cli/class-commands.php:76
144
  msgid "Object cache could not be enabled."
145
  msgstr ""
146
 
147
+ #: includes/class-plugin.php:530
148
  #: includes/cli/class-commands.php:113
149
  msgid "Object cache disabled."
150
  msgstr ""
151
 
152
+ #: includes/class-plugin.php:535
153
  #: includes/cli/class-commands.php:115
154
  msgid "Object cache could not be disabled."
155
  msgstr ""
156
 
157
+ #: includes/class-plugin.php:554
158
  #: includes/cli/class-commands.php:147
159
  msgid "Updated object cache drop-in and enabled Redis object cache."
160
  msgstr ""
161
 
162
+ #: includes/class-plugin.php:560
163
  #: includes/cli/class-commands.php:149
164
  msgid "Object cache drop-in could not be updated."
165
  msgstr ""
166
 
167
+ #: includes/class-plugin.php:613
168
  msgid "Redis Cache Pro is out!"
169
  msgstr ""
170
 
171
  #. translators: %s = Link to the plugin setting screen
172
+ #: includes/class-plugin.php:616
173
  msgid "A <u>business class</u> object cache backend. Truly reliable, highly-optimized and fully customizable, with a <u>dedicated engineer</u> when you most need it. <a href=\"%s\">Learn more »</a>"
174
  msgstr ""
175
 
176
+ #: includes/class-plugin.php:647
177
  msgid "Redis Cache Pro + WooCommerce = ❤️"
178
  msgstr ""
179
 
180
  #. translators: %s = Link to the plugin's settings screen
181
+ #: includes/class-plugin.php:650
182
  msgid "Redis Cache Pro is a <u>business class</u> object cache that’s highly-optimized for WooCommerce to provide true reliability, peace of mind and faster load times for your store. <a style=\"color: #bb77ae;\" href=\"%s\">Learn more »</a>"
183
  msgstr ""
184
 
185
  #. translators: %1$d = number of objects. %2$s = human-readable size of cache. %3$s = name of the used client.
186
+ #: includes/class-plugin.php:768
187
  msgid "Retrieved %1$d objects (%2$s) from Redis using %3$s."
188
  msgstr ""
189
 
190
+ #: includes/class-plugin.php:808
191
+ msgid "Could not initialize filesystem."
192
+ msgstr ""
193
+
194
+ #: includes/class-plugin.php:815
195
+ msgid "Object cache file doesn’t exist."
196
+ msgstr ""
197
+
198
+ #: includes/class-plugin.php:820
199
+ msgid "Test file exists, but couldn’t be deleted."
200
+ msgstr ""
201
+
202
+ #: includes/class-plugin.php:825
203
+ msgid "Failed to copy test file."
204
+ msgstr ""
205
+
206
+ #: includes/class-plugin.php:829
207
+ msgid "Copied test file doesn’t exist."
208
+ msgstr ""
209
+
210
+ #: includes/class-plugin.php:835
211
+ msgid "Couldn’t verify test file contents."
212
+ msgstr ""
213
+
214
+ #: includes/class-plugin.php:839
215
+ msgid "Copied test file couldn’t be deleted."
216
+ msgstr ""
217
+
218
  #: includes/class-qm-collector.php:19
219
  msgid "Object Cache"
220
  msgstr ""
316
  msgstr ""
317
 
318
  #: includes/ui/settings.php:140
319
+ msgid "Support & Updates"
 
320
  msgstr ""
321
 
322
+ #: includes/ui/settings.php:154
323
  msgid "Documentation"
324
  msgstr ""
325
 
326
+ #: includes/ui/settings.php:160
327
+ msgid "Support"
328
+ msgstr ""
329
+
330
  #: includes/ui/tabs/overview.php:29
331
  msgid "Client:"
332
  msgstr ""
readme.txt CHANGED
@@ -3,9 +3,9 @@ Contributors: tillkruess
3
  Donate link: https://github.com/sponsors/tillkruss
4
  Tags: redis, predis, phpredis, credis, hhvm, pecl, caching, cache, object cache, performance, replication, clustering, keydb
5
  Requires at least: 3.3
6
- Tested up to: 5.4
7
  Requires PHP: 5.6
8
- Stable tag: 2.0.5
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
@@ -83,6 +83,20 @@ To see a list of all available WP-CLI commands, please see the [WP CLI commands
83
 
84
  == Changelog ==
85
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  = 2.0.5 =
87
 
88
  Version 2.0 is a significant rewrite of the plugin. Please read the v2.0.0 release notes.
@@ -408,82 +422,6 @@ Since Predis isn't maintained any longer, it's highly recommended to switch over
408
 
409
  == Upgrade Notice ==
410
 
411
- = 2.0.5 =
412
 
413
  Version 2.0 is a significant rewrite of the plugin. Please read the v2.0.0 release notes.
414
-
415
- = 1.4.2 =
416
-
417
- This update renames the `redis_object_cache_get` filter to avoid conflicts. Update your code if necessary.
418
-
419
- = 1.4.0 =
420
-
421
- This update adds support for igbinary and `wp_suspend_cache_addition()`.
422
-
423
- = 1.3.9 =
424
-
425
- This update contains fixes for sharding.
426
-
427
- = 1.3.8 =
428
-
429
- This update contains a critical fix for Predis.
430
-
431
- = 1.3.7 =
432
-
433
- This update fixes an issue with Predis in some environments.
434
-
435
- = 1.3.6 =
436
-
437
- This update contains various improvements.
438
-
439
- = 1.3.5 =
440
-
441
- This update contains various changes, including performance improvements and better Batcache compatibility.
442
-
443
- = 1.3.4 =
444
-
445
- This update contains several improvements, including WP CLI and WordPress 4.6 support.
446
-
447
- = 1.3.3 =
448
-
449
- This update contains several improvements.
450
-
451
- = 1.3.2 =
452
-
453
- This update includes a critical fix for PhpRedis.
454
-
455
- = 1.3.1 =
456
-
457
- This update includes a critical connection issue fix.
458
-
459
- = 1.3 =
460
-
461
- This update includes a new admin interface and support for clustering and replication with Predis.
462
-
463
- = 1.2.3 =
464
-
465
- This updated includes several UI improvements.
466
-
467
- = 1.2.2 =
468
-
469
- This updated includes several bug fixes and improvements.
470
-
471
- = 1.2.1 =
472
-
473
- This update includes several improvements and compatibility fixes.
474
-
475
- = 1.1.1 =
476
-
477
- This update fixes critical bugs with the HHVM extension
478
-
479
- = 1.1 =
480
-
481
- This update includes bug fixes and adds supports for HHVM/PECL Redis extensions.
482
-
483
- = 1.0.2 =
484
-
485
- This update includes significant speed improvements and support for UNIX domain sockets.
486
-
487
- = 1.0.1 =
488
-
489
- This update includes several security, user interface and general code improvements.
3
  Donate link: https://github.com/sponsors/tillkruss
4
  Tags: redis, predis, phpredis, credis, hhvm, pecl, caching, cache, object cache, performance, replication, clustering, keydb
5
  Requires at least: 3.3
6
+ Tested up to: 5.5
7
  Requires PHP: 5.6
8
+ Stable tag: 2.0.7
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
83
 
84
  == Changelog ==
85
 
86
+ = 2.0.7 =
87
+
88
+ - Fixed issue with `wp_cache_get_multiple()`
89
+
90
+ = 2.0.6 =
91
+
92
+ - Added experimental filesystem test to diagnostics
93
+ - Refactored settings tab logic (fixed jumping, too)
94
+ - Fixed issues with `wp_cache_get_multiple()`
95
+ - Return boolean from `wp_cache_delete()`
96
+ - Use `redis-cache` as JS event namespace
97
+ - Hide Pro line in widget when banners are disabled
98
+ - Renamed `redis_object_cache_get_multi` action to `redis_object_cache_get_multiple`
99
+
100
  = 2.0.5 =
101
 
102
  Version 2.0 is a significant rewrite of the plugin. Please read the v2.0.0 release notes.
422
 
423
  == Upgrade Notice ==
424
 
425
+ = 2.0.7 =
426
 
427
  Version 2.0 is a significant rewrite of the plugin. Please read the v2.0.0 release notes.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
redis-cache.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Redis Object Cache
4
  * Plugin URI: https://wordpress.org/plugins/redis-cache/
5
  * Description: A persistent object cache backend powered by Redis. Supports Predis, PhpRedis, Credis, HHVM, replication, clustering and WP-CLI.
6
- * Version: 2.0.5
7
  * Text Domain: redis-cache
8
  * Domain Path: /languages
9
  * Network: true
3
  * Plugin Name: Redis Object Cache
4
  * Plugin URI: https://wordpress.org/plugins/redis-cache/
5
  * Description: A persistent object cache backend powered by Redis. Supports Predis, PhpRedis, Credis, HHVM, replication, clustering and WP-CLI.
6
+ * Version: 2.0.7
7
  * Text Domain: redis-cache
8
  * Domain Path: /languages
9
  * Network: true