1: | <?php
2: | namespace Opencart\System\Library\Cache;
3: | /**
4: | * Class Redis
5: | *
6: | * @package Opencart\System\Library\Cache
7: | */
8: | class Redis {
9: | /**
10: | * @var \Redis
11: | */
12: | private \Redis $redis;
13: | /**
14: | * @var int
15: | */
16: | private int $expire;
17: |
18: | /**
19: | * Constructor
20: | *
21: | * @param int $expire
22: | */
23: | public function __construct(int $expire = 3600) {
24: | $this->expire = $expire;
25: |
26: | $this->redis = new \Redis();
27: | $this->redis->pconnect(CACHE_HOSTNAME, CACHE_PORT);
28: | }
29: |
30: | /**
31: | * Get
32: | *
33: | * @param string $key
34: | *
35: | * @return mixed
36: | */
37: | public function get(string $key) {
38: | $data = $this->redis->get(CACHE_PREFIX . $key);
39: |
40: | return json_decode($data, true);
41: | }
42: |
43: | /**
44: | * Set
45: | *
46: | * @param string $key
47: | * @param mixed $value
48: | * @param int $expire
49: | *
50: | * @return void
51: | */
52: | public function set(string $key, $value, int $expire = 0): void {
53: | if (!$expire) {
54: | $expire = $this->expire;
55: | }
56: |
57: | $status = $this->redis->set(CACHE_PREFIX . $key, json_encode($value));
58: |
59: | if ($status) {
60: | $this->redis->expire(CACHE_PREFIX . $key, $expire);
61: | }
62: | }
63: |
64: | /**
65: | * Delete
66: | *
67: | * @param string $key
68: | *
69: | * @return void
70: | */
71: | public function delete(string $key): void {
72: | $this->redis->del(CACHE_PREFIX . $key);
73: | }
74: | }
75: |

OpenCart API API documentation generated by ApiGen dev-master