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

  • 相关阅读:
    如何在仪表板中播放视频
    根据条件显示表格背景色
    如何个性化设置柱形图(条形图)柱子粗细、圆角和颜色?
    如何设置报表参数的日期区间?
    妙用这3个函数,实现各种你意想不到的条件格式化
    利用组合图对数据按百分比区间进行对比展示的实例
    报表传参跳转到仪表板的实现过程
    Wyn仪表板中的图表,如何针对每个字段设置自定义颜色
    Wyn仪表板中设置完整数据格式的方法
    Wyn门户及仪表板颜色设置方式汇总
  • 原文地址:https://www.cnblogs.com/lovebing/p/6250281.html
Copyright © 2020-2023  润新知