redis扩展模块下载地址:https://pecl.php.net/package/redis
Redis类和RedisException类
Redis类用于创建Redis客户端:$redis=new Redis();
如果无法访问Redis服务器,会抛出RedisException异常对象(连接问题,Redis服务已关闭,或者redis主机过载等),在任何其他不涉及无法访问的服务器(如密钥不正确,无效命令等)的情况下,将返回FALSE
预定义常量
Redis::REDIS_STRING:String
Redis::REDIS_SET:Set
Redis::REDIS_LIST:List
Redis::REDIS_ZSET:Sorted set
Redis::REDIS_HASH:Hash
Redis::REDIS_NOT_FOUND:Not found / other
使用Redis类创建的Redis客户端对象连接redis:
连接到redis服务器:
$redis->connect($host,$port=6379,$timeout=0,$reserved,$retry_interval,$read_timeout)
$redis->connect($host,$port=6379,$timeout=0,$reserved,$retry_interval,$read_timeout)
使用短连接连接到Redis实例
$host:字符串,可以是ip地址主机,也可以是unix域套接字,从版本5.0.0开始,可以指定schema
$port:int数字,redis服务器的端口号
$timeout:float浮点数,连接超时时间,以秒为单位的值(默认为0表示无限制)
reserved: 如果设置了retry_interval那么该值应该设置为NULL
retry_interval: int数字, 重试间隔,以毫秒为单位的值
read_timeout: float浮点数,读超时时间,以秒为单位的值(默认为0表示无限制)
脚本结束之后连接就释放了
$redis->pconnect($host,$port=6379,$timeout=0,$persistent_id,$retry_interval,$read_timeout)
使用长连接连接到Redis实例或重用已与pconnect建立的连接
从版本4.2.1开始,通过将INI变量redis.pconnect.pooling_enabled设置为1,可以使用连接池,此功能在线程版本中不可用
$persistent_id:string字符串。请求的持久连接的标识
脚本结束之后连接不释放,连接保持在php-fpm进程中
1.pconnect方法建立后的连接并不随着一次php执行的结束而关闭,而是依赖于php-fpm进程,php-fpm进程不死,连接就一直存在,直到空闲超时自动断开。
2.使用pconnect代替connect,可以减少频繁建立redis连接的消耗,适用于高并发下PHP请求Redis。
3.如果使用pconnect,close的作用仅是使当前php不能再进行redis请求,但无法真正关闭redis长连接,连接在后续请求中仍然会被重用,直至fpm进程生命周期结束
$redis->connect('127.0.0.1',5678); //通过5678端口连接redis服务器
$redis->connect('tls://127.0.0.1 '); //启用传输级安全性
$redis->connect('/tmp/redis.sock'); // unix域套接字
$redis->connect('127.0.0.1',6379,1,NULL,100); //1秒超时,重新连接尝试之间延迟100毫秒
$redis->pconnect('127.0.0.1',6379,2.5,'X'); // x作为persistent_id发送
$redis->swapdb(int $db1,int $db2):以原子方式将Redis的一个数据库与另一个数据库交换
$redis->close():断开与Redis实例的连接
$redis->ping([string $message]):不提供$message时返回TRUE,否则返回参数值
剩余的操作命令和redis的命令基本相同,如设置key,$redis->set('key_name','value')。
最后编辑:2019-09-10作者:qingheluo
这个作者貌似有点懒,什么都没有留下。