1.首先先介绍下connect和pconnect的区别。

connect:脚本结束之后连接就释放了。

2.pconnect:脚本结束之后连接不释放,连接保持在php-fpm进程中。

所以使用pconnect代替connect,可以减少频繁建立redis连接的消耗。

redis手册中的介绍

  1. connect, open
  2. Description

    Connects to a Redis instance.

    连接到一个Redis实例

  3. Parameters

    host: string. can be a host, or the path to a unix domain socket
    host:字符串类型
    可以使一个HOST IP或者是一个UNIX DOMAIN SOCKET的路径

    即连接没有时间限制

  4. Return Value

    BOOL: TRUE on success, FALSE on error.

  5. Example

    $redis->connect('127.0.0.1', 6379);

    $redis->connect('127.0.0.1'); // port 6379 by default

    $redis->connect('127.0.0.1', 6379, 2.5); // 2.5 sec timeout.

    $redis->connect('/tmp/redis.sock'); // unix domain socket.

 
  1. pconnect, popen

  1. Description

    Connects to a Redis instance or reuse a connection already established with pconnect/popen.

    pconnect/popen用于连接一个Redis的实例或者复用一个已经存在的实例。

    The connection will not be closed on close or end of request until the php process ends. So be patient on to many open FD's (specially on redis server side) when using persistent connections on many servers connecting to one redis server.

    这个连接将不会被主动关闭,比如使用close(),或者PHP执行结束这个连接都不会被主动关闭。当有大量的connect请求在redis服务器端时,使用持久化的连接对象。

    Also more than one persistent connection can be made identified by either host + port + timeout or host + persistent_id or unix socket + timeout.

    一个持久化的连接实例,可以使用HOST+PORT+TIMEOUT或者HOST+persistent_id或者SOCKET+TIMEOUT的方式创建。

    This feature is not available in threaded versions. pconnect and popen then working like their non persistent equivalents.

    pconnect函数和popen函数在线程版本中不能被使用。

  2. Parameters

    host: string. can be a host, or the path to a unix domain socket
    port: int, optional
    timeout: float, value in seconds (optional, default is 0 meaning unlimited)
    persistent_id: string. identity for the requested persistent connection

  3. Return Value

    BOOL: TRUE on success, FALSE on error.

  4. Example

    $redis->pconnect('127.0.0.1', 6379);

    $redis->pconnect('127.0.0.1'); // port 6379 by default - same connection like before.

    $redis->pconnect('127.0.0.1', 6379, 2.5); // 2.5 sec timeout and would be another connection than the two before.

    $redis->pconnect('127.0.0.1', 6379, 2.5, 'x'); // x is sent as persistent_id and would be another connection the the three before.

    $redis->pconnect('/tmp/redis.sock'); // unix domain socket - would be another connection than the four before.

Redis中connect与pconnect区别?的更多相关文章

  1. Redis中connect和pconnect的区别

    首先先介绍下connect和pconnect的区别.connect:脚本结束之后连接就释放了. pconnect:脚本结束之后连接不释放,连接保持在php-fpm进程中.所以使用pconnect代替c ...

  2. redis中save和bgsave区别

    转自:redis中save和bgsave区别 SAVE 和 BGSAVE 两个命令都会调用 rdbSave 函数,但它们调用的方式各有不同: SAVE 直接调用 rdbSave ,阻塞 Redis 主 ...

  3. redis中multi和pipeline区别以及效率(推荐使用pipeline)

    手册得知 pipeline 只是把多个redis指令一起发出去,redis并没有保证这些指定的执行是原子的:multi相当于一个redis的transaction的,保证整个操作的原子性,避免由于中途 ...

  4. python redis中blpop和lpop的区别

    python redis 中blpop返回的是元组对象,因此返回的时候注意 lpop返回的是对象

  5. redis和memcached有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多(为什么redis是单线程的但是还可以支撑高并发)?

    1.redis和memcached有什么区别? 这个事儿吧,你可以比较出N多个区别来,但是我还是采取redis作者给出的几个比较吧 1)Redis支持服务器端的数据操作:Redis相比Memcache ...

  6. 面试系列12 redis和memcached有什么区别

    (1)redis和memcached有啥区别 这个事儿吧,你可以比较出N多个区别来,但是我还是采取redis作者给出的几个比较吧 1)Redis支持服务器端的数据操作:Redis相比Memcached ...

  7. Redis中struct运用

    c#操作缓存例如redis比较推荐ServiceStack 在redis中运用key-value存储数据,但是遇到结构体该如何处理,是类可通过get<type>(key)获得,那struc ...

  8. 关于Redis中的字符串对象

    一.SDS redis中定义Object types有5种 /* Object types */ #define REDIS_STRING 0 #define REDIS_LIST 1 #define ...

  9. redis中的事务

    首先明白在java中线程和进程的区别: 1.什么是多线程? 是指一个应用程序同时执行多个任务,一般来说一个任务就是一个线程 ,而一个应用程序有一个以上的线程我们称之为多线程. 2.什么是进程? 进程是 ...

随机推荐

  1. [精品书单] C#/.NET 学习之路——从入门到放弃

    C#/.NET 学习之路--从入门到放弃 此系列只包含 C#/CLR 学习,不包含应用框架(ASP.NET , WPF , WCF 等)及架构设计学习书籍和资料. C# 入门 <C# 本质论&g ...

  2. 遭遇Web print

    一直都知道Web打印还不太成熟,以前IE横行时,普遍都是采用打印相关的ActiveX控件,有些国产厂家做得不错,只是那时还没有付费能力,没有太多关注.而纯粹基于Web标准的打印,浏览器对CSS pri ...

  3. Python 基础之四初识Python数据类型

    数字 Int,整型 Float,浮点型 Long,长整型 布尔 字符串 列表 元组 字典 1.数字 INT(整型) 在32位系统上,整数的位数为32位,取值范围为-2**31~2**31-1,即-21 ...

  4. 记录一次bug解决过程:eclipse集成lombok插件

    一 总结 eclipse集成插件lombok: 启动Spring Boot项目: sublime全局搜索关键字:ctrl + shift + F JDK8中的lambda表达式使用 二 BUG描述:集 ...

  5. WCF入门教程3——WCF通信模式

    本章内容 请求/响应模式 单工模式 双工模式 WCF异步调用 请求与响应模式 请求/响应     请求/响应通信是指客户端向服务端发送消息后,服务端会向客户端发送响应.这也意味着在接收到服务的响应以前 ...

  6. 在Thinkphp中使用AJAX实现无刷新分页

    在Thinkphp目录的Lib\ORG\Util\目录里新建AjaxPage.class.php,写入一下内容: <?php // +------------------------------ ...

  7. CSS类似微软中国首页的竖向选项卡

    效果体验:http://hovertree.com/texiao/css/24/ 源码下载:http://hovertree.com/h/bjaf/hardklps.htm 代码如下: <!DO ...

  8. xmlHttp.readyState的五种状态

    自己简单的总结一下 深入的了解可以看其他道友的 O(∩_∩)O readyState有五种可能的值: 0 (未初始化): (XMLHttpRequest)对象已经创建,但还没有调用open()方法. ...

  9. 遇到的Exception/error及解决办法记录汇总

    一.java.net.SocketException 1.java.net.SocketException:Connection reset 首先,如果一端的Socket被关闭(或主动关闭,或因为异常 ...

  10. Yii2 modal中 ajax提交表单

    view: // view 代码 $form = ActiveForm::begin(['id' => $model->formName()]); // js 代码 $js = <& ...