PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.2.0
Independent Analytics – WordPress Analytics Plugin v2.2.0
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / doctrine / cache / lib / Doctrine / Common / Cache / PredisCache.php
independent-analytics / vendor / doctrine / cache / lib / Doctrine / Common / Cache Last commit date
Psr6 2 years ago ApcCache.php 2 years ago ApcuCache.php 2 years ago ArrayCache.php 2 years ago Cache.php 2 years ago CacheProvider.php 2 years ago ChainCache.php 2 years ago ClearableCache.php 2 years ago CouchbaseBucketCache.php 2 years ago CouchbaseCache.php 2 years ago ExtMongoDBCache.php 2 years ago FileCache.php 2 years ago FilesystemCache.php 2 years ago FlushableCache.php 2 years ago InvalidCacheId.php 2 years ago LegacyMongoDBCache.php 2 years ago MemcacheCache.php 2 years ago MemcachedCache.php 2 years ago MongoDBCache.php 2 years ago MultiDeleteCache.php 2 years ago MultiGetCache.php 2 years ago MultiOperationCache.php 2 years ago MultiPutCache.php 2 years ago PhpFileCache.php 2 years ago PredisCache.php 2 years ago RedisCache.php 2 years ago SQLite3Cache.php 2 years ago Version.php 2 years ago VoidCache.php 2 years ago WinCacheCache.php 2 years ago XcacheCache.php 2 years ago ZendDataCache.php 2 years ago
PredisCache.php
120 lines
1 <?php
2
3 namespace IAWP_SCOPED\Doctrine\Common\Cache;
4
5 use IAWP_SCOPED\Predis\ClientInterface;
6 use function array_combine;
7 use function array_filter;
8 use function array_map;
9 use function array_values;
10 use function call_user_func_array;
11 use function serialize;
12 use function unserialize;
13 /**
14 * Predis cache provider.
15 *
16 * @deprecated Deprecated without replacement in doctrine/cache 1.11. This class will be dropped in 2.0
17 * @internal
18 */
19 class PredisCache extends CacheProvider
20 {
21 /** @var ClientInterface */
22 private $client;
23 public function __construct(ClientInterface $client)
24 {
25 $this->client = $client;
26 }
27 /**
28 * {@inheritdoc}
29 */
30 protected function doFetch($id)
31 {
32 $result = $this->client->get($id);
33 if ($result === null) {
34 return \false;
35 }
36 return unserialize($result);
37 }
38 /**
39 * {@inheritdoc}
40 */
41 protected function doFetchMultiple(array $keys)
42 {
43 $fetchedItems = call_user_func_array([$this->client, 'mget'], array_values($keys));
44 return array_map('unserialize', array_filter(array_combine($keys, $fetchedItems)));
45 }
46 /**
47 * {@inheritdoc}
48 */
49 protected function doSaveMultiple(array $keysAndValues, $lifetime = 0)
50 {
51 if ($lifetime) {
52 $success = \true;
53 // Keys have lifetime, use SETEX for each of them
54 foreach ($keysAndValues as $key => $value) {
55 $response = (string) $this->client->setex($key, $lifetime, serialize($value));
56 if ($response == 'OK') {
57 continue;
58 }
59 $success = \false;
60 }
61 return $success;
62 }
63 // No lifetime, use MSET
64 $response = $this->client->mset(array_map(static function ($value) {
65 return serialize($value);
66 }, $keysAndValues));
67 return (string) $response == 'OK';
68 }
69 /**
70 * {@inheritdoc}
71 */
72 protected function doContains($id)
73 {
74 return (bool) $this->client->exists($id);
75 }
76 /**
77 * {@inheritdoc}
78 */
79 protected function doSave($id, $data, $lifeTime = 0)
80 {
81 $data = serialize($data);
82 if ($lifeTime > 0) {
83 $response = $this->client->setex($id, $lifeTime, $data);
84 } else {
85 $response = $this->client->set($id, $data);
86 }
87 return $response === \true || $response == 'OK';
88 }
89 /**
90 * {@inheritdoc}
91 */
92 protected function doDelete($id)
93 {
94 return $this->client->del($id) >= 0;
95 }
96 /**
97 * {@inheritdoc}
98 */
99 protected function doDeleteMultiple(array $keys)
100 {
101 return $this->client->del($keys) >= 0;
102 }
103 /**
104 * {@inheritdoc}
105 */
106 protected function doFlush()
107 {
108 $response = $this->client->flushdb();
109 return $response === \true || $response == 'OK';
110 }
111 /**
112 * {@inheritdoc}
113 */
114 protected function doGetStats()
115 {
116 $info = $this->client->info();
117 return [Cache::STATS_HITS => $info['Stats']['keyspace_hits'], Cache::STATS_MISSES => $info['Stats']['keyspace_misses'], Cache::STATS_UPTIME => $info['Server']['uptime_in_seconds'], Cache::STATS_MEMORY_USAGE => $info['Memory']['used_memory'], Cache::STATS_MEMORY_AVAILABLE => \false];
118 }
119 }
120