PHP extension Redis 安裝使用

PHP extension Redis 安裝使用

安裝 PHP extension for Redis 使PHP可以與Redis運作.

安裝

1
2
3
4
5
6
7
8
9
$ cd /tmp
$ git clone git://github.com/nicolasff/phpredis.git
$ cd /tmp/phpredis
$ phpize
$ ./configure
$ make
$ make install clean
#編輯 php.ini加入
extension=redis.so

當 SESSION storge使用

如果要將SESSION 存入redis 只需要在php.ini做以下設定:

1
2
session.save_handler = redis
session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2"

weight: 權重依照上方設定範例 host1:為5/1 host1:為5/2 host1:為5/2
timeout:喻时以秒為單位 最大86400.
persistent:持久連線.預設為開啟.
prefix:前置字.儲存於Redis的前置字 預設PHPREDIS_SESSION:
auth:認證.預設無

一般存取

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
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);//一般連線
$redis->pconnect('127.0.0.1', 6379);//持久連線
$redis->get('key');//取得
$redis->set('key', 'value');//存入
$redis->setex('key', 3600, 'value');//存入並且有一小時存活時間
$redis->setnx('key', 'value');//只有在無此key時才存入
$redis->delete('key1', 'key2'); //刪除
$redis->delete(array('key3', 'key4')); //刪除
 
$ret = $redis->multi() //多筆執行
    ->set('key1', 'val1')
    ->get('key1')
    ->set('key2', 'val2')
    ->get('key2')
    ->exec();
//監控key值是否改變.
$redis->watch('x');
/* long code here during the execution of which other clients could well modify `x` */
$ret = $redis->multi()
    ->incr('x')
    ->exec();
/*
$ret = FALSE if x has been modified between the call to WATCH and the call to EXEC.
*/
//key值做遞增
$redis->incr('key1'); /* 2 */
$redis->incr('key1'); /* 3 */
$redis->incr('key1'); /* 4 */
$redis->incrBy('key1', 10); /* 14 */
//key值做遞減
$redis->decr('key1'); /* -2 */
$redis->decr('key1'); /* -3 */
$redis->decrBy('key1', 10); /* -13 */
//取多個key值
$redis->mGet(array('key1', 'key2', 'key3'));

大致上就這樣感覺很讚唷.

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *