首页 > 数据库 > Redis > 正文

分享PHP脚本redis类的实例源码

2020-03-17 12:43:50
字体:
来源:转载
供稿:网友

redis,memcache技术现在已经应用很广泛,"PHP脚本redis类的实例源码",我们也会用到它,就给大家分享了吧,用它可以很简洁,方便的调用redis里的内置函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
class redisDB{
  
    private $redis//redis对象
  
  
    /**
     * 初始化Redis
     * $config = array(
     *  'server' => '127.0.0.1' 服务器
     *  'port'   => '6379' 端口号
     * )
     * @param array $config
     */
    function __construct($config array()){
        $this->redis = new Redis();
        $this->redis->connect(REDIS_SERVER,REDIS_PORT);
        return $this->redis;
    }
  
    /**
     * 设置值
     * @param string $key KEY名称
     * @param string|array $value 获取得到的数据
     * @param int $timeOut 时间
     */
    public function set($key$value$timeOut = 0,$type='json') {
        if($type=='serialize')
        {
            $value = serialize($value);
        }
        else
        {
            $value = json_encode($value);
        }
          
        $retRes $this->redis->set($key$value);
        if ($timeOut > 0) $this->redis->setTimeout($key$timeOut);
        return $retRes;
    }
  
    /**
     * 通过KEY获取数据
     * @param string $key KEY名称
     */
    public function get($key,$type='json') {
        $result $this->redis->get($key);
          
        if($type=='serialize')
        {
            return unserialize($result);
        }
        else
        {
            return json_decode($result);
        }
    }
  
    /**
     * 删除一条数据
     * @param string $key KEY名称
     */
    public function delete($key) {
        return $this->redis->delete($key);
    }
  
    /**
     * 清空数据
     */
    public function flushAll() {
        return $this->redis->flushAll();
    }
  
    /**
     * 数据入队列
     * @param string $key KEY名称
     * @param string|array $value 获取得到的数据
     * @param bool $right 是否从右边开始入
     */
    public function push($key$value ,$right = true) {
        $value = json_encode($value);
        return $right $this->redis->rPush($key$value) : $this->redis->lPush($key$value);
    }
  
    /**
     * 数据出队列
     * @param string $key KEY名称
     * @param bool $left 是否从左边开始出数据
     */
    public function pop($key $left = true) {
        $val $left $this->redis->lPop($key) : $this->redis->rPop($key);
        return json_decode($val);
    }
  
    /**
     * 数据自增
     * @param string $key KEY名称
     */
    public function increment($key) {
        return $this->redis->incr($key);
    }
  
    /**
     * 数据自减
     * @param string $key KEY名称
     */
    public function decrement($key) {
        return $this->redis->decr($key);
    }
  
    /**
     * key是否存在,存在返回ture
     * @param string $key KEY名称
     */
    public function exists($key) {
        return $this->redis->exists($key);
    }
  
    /**
     * 返回redis对象
     * redis有非常多的操作方法,我们只封装了一部分
     * 拿着这个对象就可以直接调用redis自身方法
     */
    public function redis() {
        return $this->redis;
    }
}

使用方法:

1
2
3
4
5
6
7
8
include 'redis.php';
$redis =  new redisDB();
$key 'fields';
$value '好脚本';   //value可以是字符串或者数组
$redis->set($key,$value);
//获取fields的值也很简单
$fvalue $redis->get('fields');
print_r($fvalue);

用到就copy吧,简单,实用。嘿嘿 有需要用到memcache的类,可以参考一下这个。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表