Completed
Push — master ( c2b3de...d714d5 )
by Roberto
01:30
created

Keys   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 134
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
wmc 10
lcom 1
cbo 0
dl 0
loc 134
rs 10
c 0
b 0
f 0

10 Methods

Rating   Name   Duplication   Size   Complexity  
A del() 0 4 1
A delete() 0 4 1
A unlink() 0 4 1
A dump() 0 4 1
A exists() 0 4 1
A expire() 0 4 1
A setTimeout() 0 4 1
A pexpire() 0 4 1
A expireAt() 0 4 1
A pexpireAt() 0 4 1
1
<?php
2
3
namespace Webdcg\Redis\Traits;
4
5
trait Keys
6
{
7
    /**
8
     * Remove specified keys [Blocking].
9
     *
10
     * @param  mixed $keys
11
     *
12
     * @return int Number of keys deleted
13
     */
14
    public function del(...$keys): int
15
    {
16
        return $this->redis->del(...$keys);
0 ignored issues
show
Bug introduced by
The property redis does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
17
    }
18
19
    /**
20
     * Remove specified keys [Non Blocking].
21
     *
22
     * @param  mixed $keys
23
     *
24
     * @return int Number of keys deleted
25
     */
26
    public function delete(...$keys): int
27
    {
28
        return $this->redis->unlink(...$keys);
29
    }
30
31
    /**
32
     * Remove specified keys [NonBlocking].
33
     *
34
     * Note: If you are connecting to Redis server >= 4.0.0 you can remove a
35
     * key with the unlink method in the exact same way you would use del.
36
     * The Redis unlink command is non-blocking and will perform the actual
37
     *  deletion asynchronously.
38
     *
39
     * @param  mixed $keys
40
     *
41
     * @return int Number of keys deleted
42
     */
43
    public function unlink(...$keys): int
44
    {
45
        return $this->redis->unlink(...$keys);
46
    }
47
48
    /**
49
     * Return a serialized version of the value stored at the specified key.
50
     *
51
     * @param  string $key
52
     *
53
     * @return mixed|string|false       The Redis encoded value of the key,
54
     *                                  or FALSE if the key doesn't exist
55
     */
56
    public function dump(string $key)
57
    {
58
        return $this->redis->dump($key);
59
    }
60
61
    /**
62
     * Verify if the specified key exists.
63
     *
64
     * @param  mixed] $keys
0 ignored issues
show
Documentation introduced by
The doc-type mixed] could not be parsed: Expected "|" or "end of type", but got "]" at position 5. (view supported doc-types)

This check marks PHPDoc comments that could not be parsed by our parser. To see which comment annotations we can parse, please refer to our documentation on supported doc-types.

Loading history...
65
     *
66
     * @return int
67
     */
68
    public function exists(...$keys): int
69
    {
70
        return $this->redis->exists(...$keys);
71
    }
72
73
    /**
74
     * Sets an expiration date (a timeout) on an item. pexpire requires a TTL in milliseconds.
75
     *
76
     * @param  string $key. The key that will disappear.
0 ignored issues
show
Bug introduced by
There is no parameter named $key.. Was it maybe removed?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.

Consider the following example. The parameter $italy is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $island
 * @param array $italy
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was removed, but the annotation was not.

Loading history...
77
     * @param  int    $ttl. The key's remaining Time To Live, in seconds.
0 ignored issues
show
Bug introduced by
There is no parameter named $ttl.. Was it maybe removed?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.

Consider the following example. The parameter $italy is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $island
 * @param array $italy
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was removed, but the annotation was not.

Loading history...
78
     *
79
     * @return bool         true in case of success, false in case of failure.
80
     */
81
    public function expire(string $key, int $ttl): bool
82
    {
83
        return $this->redis->expire($key, $ttl);
84
    }
85
86
    /**
87
     * Sets an expiration date (a timeout) on an item. pexpire requires a TTL in milliseconds.
88
     *
89
     * @param  string $key. The key that will disappear.
0 ignored issues
show
Bug introduced by
There is no parameter named $key.. Was it maybe removed?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.

Consider the following example. The parameter $italy is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $island
 * @param array $italy
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was removed, but the annotation was not.

Loading history...
90
     * @param  int    $ttl. The key's remaining Time To Live, in seconds.
0 ignored issues
show
Bug introduced by
There is no parameter named $ttl.. Was it maybe removed?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.

Consider the following example. The parameter $italy is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $island
 * @param array $italy
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was removed, but the annotation was not.

Loading history...
91
     *
92
     * @return bool         true in case of success, false in case of failure.
93
     */
94
    public function setTimeout(string $key, int $ttl): bool
95
    {
96
        return $this->redis->expire($key, $ttl);
97
    }
98
99
    /**
100
     * Sets an expiration date (a timeout) on an item. pexpire requires a TTL in milliseconds.
101
     *
102
     * @param  string $key. The key that will disappear.
0 ignored issues
show
Bug introduced by
There is no parameter named $key.. Was it maybe removed?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.

Consider the following example. The parameter $italy is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $island
 * @param array $italy
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was removed, but the annotation was not.

Loading history...
103
     * @param  int    $ttl. The key's remaining Time To Live, in seconds.
0 ignored issues
show
Bug introduced by
There is no parameter named $ttl.. Was it maybe removed?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.

Consider the following example. The parameter $italy is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $island
 * @param array $italy
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was removed, but the annotation was not.

Loading history...
104
     *
105
     * @return bool         true in case of success, false in case of failure.
106
     */
107
    public function pexpire(string $key, int $ttl): bool
108
    {
109
        return $this->redis->pexpire($key, $ttl);
110
    }
111
112
    /**
113
     * Sets an expiration date (a timestamp) on an item.
114
     *
115
     * @param  string $key  The key that will disappear.
116
     * @param  int    $ttl  Unix timestamp. The key's date of death, in seconds from Epoch time.
117
     *
118
     * @return bool         true in case of success, false in case of failure.
119
     */
120
    public function expireAt(string $key, int $ttl): bool
121
    {
122
        return $this->redis->expireAt($key, $ttl);
123
    }
124
125
    /**
126
     * Sets an expiration date (a timestamp) on an item in milliseconds.
127
     *
128
     * @param  string $key  The key that will disappear.
129
     * @param  int    $ttl  Unix timestamp. The key's date of death, in
130
     *                      milliseconds from Epoch time with.
131
     *
132
     * @return bool         true in case of success, false in case of failure.
133
     */
134
    public function pexpireAt(string $key, int $ttl): bool
135
    {
136
        return $this->redis->pexpireAt($key, $ttl);
137
    }
138
}
139