zoukankan      html  css  js  c++  java
  • Redis中connect与pconnect区别?

    1.首先先介绍下connectpconnect的区别。

    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的路径

      port: int, optional
      port:
      整数型,Redis的运行端口

      timeout: float, value in seconds (optional, default is 0 meaning unlimited)
      timeout:
      浮点型,连接的市场,单位是秒,默认为0即连接没有时间限制

    4. Return Value

      BOOLTRUE 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

      BOOLTRUE 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.

  • 相关阅读:
    GIS的核心价值——服务
    Arcgis Add-In开发入门实例
    Arcgis for Androd API开发系列教程(一)——地图显示与GPS定位
    Spring
    字体大小对照换算表
    属性和字段的区别
    sqlDataAdapter和SqlCommand的区别
    C# 连接SQL Server数据库的几种方式--server+data source等方式
    c# using的作用
    random
  • 原文地址:https://www.cnblogs.com/lovebing/p/6250281.html
Copyright © 2011-2022 走看看