您的位置:

redisphp客户端,php redis使用

本文目录一览:

如何测试 php安装成功redis

解压安装:

复制代码代码如下:

tar -xvf redis-2.8.17.tar.gz

make

sudo make install

为方便使用,在/usr目录下创建redis目录,讲如下几个文件拷贝到/usr/redis/目录下:

复制代码代码如下:

/yourdir/redis-2.8.17/redis.conf

/yourdir/redis-2.8.17/src/redis-benchmark

/yourdir/redis-2.8.17/src/redis-server

/yourdir/redis-2.8.17/src/redis-cli

当然,你也可以通过软连接的方式达到方便使用的目的。此外,你也可以将redis-server加入开机启动,此处从略。

2.redis测试

1)先开启redis服务端程序

为方便测试,我们将redis.conf配置文件中的loglevel和logfile的值,修改后如下:

loglevel debug

logfile “/tmp/redis.log”

jay13@ubuntu:/usr/redis$ redis-server redis.conf

2)开启redi客户端,通过客户端向redis数据库中进行增删改查操作。整个操作过程中生成的日志可以到/tmp/redis.log中查看。

以最简单的key操作为例,实例如下:

复制代码代码如下:

jay13@ubuntu:/usr/redis$ redis-cli

127.0.0.1:6379 set jay13 jb51.net

OK

127.0.0.1:6379 set jay hello,world

OK

127.0.0.1:6379 get jay

"hello,world"

127.0.0.1:6379 get jay13

"jb51.net"

127.0.0.1:6379 del jay

(integer) 1

127.0.0.1:6379 get jay

(nil)

127.0.0.1:6379 set jay13

OK

127.0.0.1:6379 get jay13

""

3.安装phpredis扩展

在使用sudo apt-get install php5安装php时,默认是没有安装phpize的,我们安装phpredis时,需要用到phpize,因此,需要先安装phpize。

1)我们通过安装php开发者工具来获取phpize。执行如下命令即可:

复制代码代码如下:

sudo apt-get install php5-dev

2)获取phpredis源文件

按照GitHub上的说明进行如下安装时,

复制代码代码如下:

phpize

./configure --enable-redis-igbinary

make make install

可能会出现如下出错说明:

复制代码代码如下:

checking for igbinary includes... configure: error: Cannot find igbinary.h

怎么看 php 本地redis是phpredis还是predis

Redis支持的客户端种类非常多,包括C、Java、PHP、Python等,本文主要介绍PHP客户端的安装和使用。

Redis的客户端实际上担负了通过网络协议与Redis Server进行通信的过程,通信的过程必须遵循协议规范,让客户的调用更加符合特定语言的使用习惯。

订单超时,活动过期解决方案:php监听redis键重复触发引发事件

订单超时,活动过期解决方案:php监听redis键重复触发引发事件

Redis的2.8.0版本之后可用,键空间消息(Redis Keyspace Notifications),配合2.0.0版本之后的SUBSCRIBE 可以完成这个定时任务的操作了,定时的单位是秒。

1.我们先订阅频道称为 redisChat

2.现在,我们重新开启个redis客户端,然后在同一个频道redisChat发布消息,订阅者可以接收到消息。

接收到的消息如下:

3.Key过期事件的Redis配置

需要这里配置notify-keyspace-events的参数为“EX” .X代表了过期事件。notify-keyspace-events “Ex”保存配置后,重启Redis的服务,使配置生效。

PHP Redis实现订阅键空间通知

redis实例化类:

redis.class.php

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

//遇到类别重复的报错,所有叫Redis2

classRedis2  

{

    private$redis;

    publicfunction__construct($host= '127.0.0.1', $port= 6379)

    {

        $this-redis = newRedis();

        $this-redis-connect($host, $port);

    }

    publicfunctionsetex($key, $time, $val)

    {

        return$this-redis-setex($key, $time, $val);

    }

    publicfunctionset($key, $val)

    {

        return$this-redis-set($key, $val);

    }

    publicfunctionget($key)

    {

        return$this-redis-get($key);

    }

    publicfunctionexpire($key= null, $time= 0)

    {

        return$this-redis-expire($key, $time);

    }

    publicfunctionpsubscribe($patterns= array(), $callback)

    {

        $this-redis-psubscribe($patterns, $callback);

    }

    publicfunctionsetOption()

    {

        $this-redis-setOption(\Redis::OPT_READ_TIMEOUT, -1);

    }

}

过期事件的订阅:

psubscribe.php

1个

2

3

4

5

6

7

8

9

10

11

12

13

14

15

require_once'./Redis.class.php';

$redis= new\Redis2();

// 解决Redis客户端订阅时候超时情况

$redis-setOption();

$redis-psubscribe(array('__keyevent@0__:expired'), 'keyCallback');

// 回调函数,这里写处理逻辑

functionkeyCallback($redis, $pattern, $chan, $msg)

{

    echo"Pattern: $pattern\n";

    echo"Channel: $chan\n";

    echo"Payl

    oad: $msg\n\n";

    //keyCallback为订阅事件后的回调函数,这里写业务处理逻辑,

    //比如前面提到的商品不支付自动撤单,这里就可以根据订单id,来实现自动撤单

}

设置过期事件:

index.php

1个

2

3

4

require_once'./Redis.class.php';

$redis= new\Redis2();

$order_id= 123;

$redis-setex('order_id',10,$order_id);

先用命令行模式执行 psubscribe.php

在浏览器访问 index.php

效果如下:

如何在 Windows 环境下安装 Redis 和 phpredis 模块

1下载安装文件,选择稳定版本2点击安装exe文件,进行安装。选择好路径,一直到安装结束即可。

3点击Service查看Redis服务是否正确的安装。Windows--》Service.msc。默认的端口为6379。服务已启动。

4使用客户端工具进行连接,出现如下画面即成功。

5使用CMD工具,安装另一个Redis实例服务,端口为6369.需要提前建好6369端口使用的conf文件

如:C:\Users\GrayE:\redis-2.8.17\redis-server.exe --service-installE:\redis-2.8.17\redis6369.conf --service-name RedisServer6369 --port 6369

试验了几次都没有提示成功的信息,但是查看服务成功了,而且用客户端连接也成功了。

6查看6369端口的redis服务

7使用客户端连接6369 redis服务,出现如下界面表示成功

8至此,大功告成。

怎么安装redis PHP扩展,windows下

1、根据php信息,如下图,下载合适的 phpredis.dll扩展包。下载地址:  

用phpinfo 查看到时TS vc9。那么下载的版本就对应好

ts版 phpredis_5.4_vc9_ts.7z                         nts版  phpredis_5.4_vc9_nts.7z   

2、解压缩之后得到两个文件,分别将两个文件复制到php 目录的 ext目录下。

3、修改php.ini文件。加入extension 扩展

extension=php_igbinary.dll

extension=php_redis.dll

4、 重启apache ,查看phpinfo 界面。如下则表示安装成功

5、phpredis   hellow word    开始你的redis使用

?php

$redis = new Redis();                   //redis对象

$redis-connect("192.168.60.6","6379"); //连接redis服务器

$redis-set("test","Hello World");      //set字符串值

echo $redis-get("test");               //获取值

?

感谢网友分享。

redis的php客户端为什么连接数这么大

第一,Redis的默认时间设置在redis.conf中timeout是300秒,请问是否修改过这个参数,修改为多少了? 第二,你用的这个redis扩展,这种用法$redis-connect('127.0.0.1', 6379);意味着超时时间未设置,会一直不超时。关于这点,请详细查看该扩展的文章。

根据你提供的不多的信息估计,最可能的是第二条中你未设置连接时间,用了默认不超时的方式。但是你说的是在30秒后断开,又不是符合redis.conf的默认配置。除非你修改了默认配置就说的通了。