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的默认配置。除非你修改了默认配置就说的通了。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/207072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-08 14:20
下一篇 2024-12-08 14:20

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • 在CentOS上安装Redis

    Redis是一款非关系型数据库,它支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。Redis运行内存内并且支持数据持久化,它还可以应用于缓存、消息队列等场景。本文将介绍…

    编程 2025-04-28
  • Python调用crt telnet客户端的实现

    本篇文章将详细介绍如何使用Python调用crt telnet客户端。我们将从以下几个方面进行阐述: 一、安装crt telnet客户端 首先,我们需要下载并安装crt telne…

    编程 2025-04-28
  • 解析spring.redis.cluster.max-redirects参数

    本文将围绕spring.redis.cluster.max-redirects参数进行详细阐述,从多个方面解读它的意义与作用,并给出相应的代码示例。 一、基础概念 在介绍sprin…

    编程 2025-04-27
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • 跨域通信浮标——实现客户端之间的跨域通信

    本文将介绍跨域通信浮标的使用方法,该浮标可以实现客户端之间的跨域通信,解决了浏览器同源策略的限制,让开发者能够更加方便地进行跨域通信。 一、浮标的原理 跨域通信浮标的原理是基于浮动…

    编程 2025-04-27
  • Redis Bitmap用法介绍

    Redis是一款高性能的内存数据库,支持多种数据类型,其中之一便是bitmap。Redis bitmap(位图)是一种用二进制位来表示元素是否在集合中的数据结构。由于使用了二进制位…

    编程 2025-04-27
  • Python服务器客户端

    本文将从以下几个方面对Python服务器客户端进行详细阐述:socket编程、HTTP协议、Web框架、异步IO。 一、socket编程 Python的socket模块是为网络编程…

    编程 2025-04-27

发表回复

登录后才能评论