Issues (2407)

engine/library/RedisCache.php (2 issues)

1
<?php
2
/* 	Divine CMS - Open source CMS for widespread use.
3
    Copyright (c) 2019 Mykola Burakov ([email protected])
4
5
    See SOURCE.txt for other and additional information.
6
7
    This file is part of Divine CMS.
8
9
    This program is free software: you can redistribute it and/or modify
10
    it under the terms of the GNU General Public License as published by
11
    the Free Software Foundation, either version 3 of the License, or
12
    (at your option) any later version.
13
14
    This program is distributed in the hope that it will be useful,
15
    but WITHOUT ANY WARRANTY; without even the implied warranty of
16
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
    GNU General Public License for more details.
18
19
    You should have received a copy of the GNU General Public License
20
    along with this program. If not, see <http://www.gnu.org/licenses/>. */
21
22
namespace Divine\Engine\Library;
23
24
class RedisCache
25
{
26
    public function __construct()
0 ignored issues
show
Expected 2 blank lines before function; 0 found
Loading history...
27
    {
28
        $this->cache = new \Redis();
0 ignored issues
show
Bug Best Practice introduced by
The property cache does not exist. Although not strictly required by PHP, it is generally a best practice to declare properties explicitly.
Loading history...
29
        $this->cache->pconnect('localhost', '6379');
30
    }
31
32
    public function get($key)
33
    {
34
        $data = $this->cache->get('snrs_' . $key);
35
        return json_decode($data, true);
36
    }
37
38
    public function set($key, $value)
39
    {
40
        $status = $this->cache->set(
41
            'snrs_' . $key,
42
            json_encode($value)
43
        );
44
        if ($status) {
45
            $this->cache->setTimeout(
46
                'snrs_' . $key,
47
                '3600'
48
            );
49
        }
50
        return $status;
51
    }
52
53
    public function delete($key)
54
    {
55
        $this->cache->delete('snrs_' . $key);
56
    }
57
}
58