phpredis 3.1.2升级到4.3.0修改点
-
链接新增参数 read_timeout: float, value in seconds (optional, default is 0 meaning unlimited)
-
新增命令 unlink 非阻塞式删除,异步删除相应的key
-
exists 返回值由bool变成long long的值是存在数据的值 例 exists(['a', 'b', 'c']) //只有c不存在,则返回2
-
新增incrBy 可以设置步长incrBy('key', 10);
-
decrBy 可以递减步长
-
新增hStrLen - Get the string length of the value associated with field in the hash
-
sPop - Remove and return one or more members of a set at random
-
sPop新增一个count参数,表示返回几个随机值 例 sPop('key', 3); //表示返回3个随机值,如果不够三个就返回最多数量,set为空时,返回空数组,key不存在时,返回false
-
新增Geocoding,针对坐标系存储,感兴趣可以参考 https://github.com/phpredis/phpredis/tree/4.3.0#geocoding
-
新增streams, 消息队列,生产者消费者模型,感兴趣 https://github.com/phpredis/phpredis/tree/4.3.0#streams
-
新增 swapdb - Swaps two Redis databases
-
close方法新增关闭连接池功能,并且增加bool类型的返回参数
关于连接池:
./README.markdown:Starting from version 4.2.1, it became possible to use connection pooling by setting INI variable redis.pconnect.pooling_enabled
to 1.
从4.2.1开始支持连接池
相关两个配置:
/* redis pconnect */
PHP_INI_ENTRY("redis.pconnect.pooling_enabled", "1", PHP_INI_ALL, NULL) //默认支持连接池
PHP_INI_ENTRY("redis.pconnect.connection_limit", "0", PHP_INI_ALL, NULL) //默认最大连接池的个数为0 还是重复用之前的连接 如果没有之前的连接(php 的pconect会在fpm进程周期内被重用) 那么创建新的
这两个值需要在配置文件中配置,比如在php.ini文件配置.