phpredis和predis
一般我们常用的扩展是phpredis和predis两个
- phpredis, 它是用c写的php的高效扩展:https://github.com/phpredis/phpredis,
- predis, 它是用php代码写的,也用的蛮多的:https://github.com/nrk/predis。
[PHPRedis]
<?php
$client = new Redis();
$client->connect('10.30.5.163', '7000');
echo $client->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');
2. 集群方式
<?php
$redis_list = ['10.30.5.162:7000','10.30.5.163:7000','10.30.5.163:7001'];
$client = new RedisCluster(NUll,$redis_list);
echo $client->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');
3. 超时设置
<?php
$redis_list = ['10.30.5.162:7000','10.30.5.163:7000','10.30.5.163:7001', 1.5, 1.5];
$client = new RedisCluster(NUll,$redis_list);
echo $client->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');
timeout和read_timeout功能。就是加到master列表的后面。
timeout表示连接redis的最长时间,这里设为1.5秒,表示超过1.5秒要是还没连接成功就返回false 。
read_timeout表示连接redis成功后,读取一个key的超时时间,有时候读取一个key 可能value比较大,读取需要很长时间,这里设置1.5秒,表示要是过了1.5秒还没读取到数据就返回false。
4. 扩展安装
~ git clone git@github.com:phpredis/phpredis.git ~ cd phpredis ~ git fetch ~ git checout feature/redis_cluster #切换到cluster分支 ~ phpize ~ ./configure ~ make ~ make install
1) 下载 wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
2) 解压 unzip phpredis-master.zip
3) cd phpredis-master
4)phpize
5)./configure --with-php-config=/usr/local/php7/bin/php-config
6)make && make install
7)修改配置文件php.ini 添加extensions=redis.so
8)重启PHP服务
1. 连接方式(集群)
<?php
use Predis\Client;
require __DIR__ . '/../vendor/autoload.php'; // 写一个节点也可以
$redis_list = [
'tcp://10.30.5.163:7000',
'tcp://10.30.5.163:7001',
'tcp://10.30.5.162:7000'
]; $redis = new Client($redis_list, ['cluster'=>'redis']); echo $redis->get('new_item_key:d89b561fb759fd533a8c2781ef15dd5f');
2. 连接方式(单机)
Predis\Autoloader::register();
$client = new Predis\Client([
'scheme' => $scheme,
'host' => $host,
'port' => $port,
]);
phpredis和predis的更多相关文章
- laravel redis Error while reading line from the server.
代码运行一段时间后,会报下面的错误. [Predis\Connection\ConnectionException] Error while reading line from the server. ...
- PHP之pear包总结
现在我们开发的时候,尤其是使用框架进行项目开发的时候,都会有一个专门的包管理工具,对,那就是composer,使用这个工具可以简单快速的引入一个代码包,十分快捷好用.接下就总结一下,经常使用到的pea ...
- redis客户端介绍及php客户端的下载安装
一.PHP客户端1.官方提供了几款PHP客户端,包括amphp/redis.phpredis.Predis.Rediska.推荐使用官方推荐的两款客户端,phpredis.Predis2.phpred ...
- 10.27-Redis-mz 深入浅出Redis
深入浅出Redis 1.Redis的发展史 Redis[Remote Directory Server]:远程服务器字典 2.下载安装Redis 1>Linux下安装Reids ...
- predis如何实现phpredis的pconnect方法
predis和phpredis都是redis的php客户端,区别可以看这里,这里不赘述. phpredis是php扩展,由C语言编写,诞生较早,很多PHPer都熟悉. predis是用PHP语言编写, ...
- php版的redis操作库predis操作大全
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/146.html predis是php连接redis的操作库,由于它完全使用 ...
- Laravel 安装predis 扩展
在安装predis扩展之前先安装composer,安装教程在https://getcomposer.org/download/: php -r "copy('https://getcompo ...
- 利用phpredis实现PHP操作Redis
redis在PHP中的基本使用案例 利用phpredis实现PHP操作Redis,需要进行redis.so的下载,添加 //利用Redis类进行操作 //实例化Redis类 $redis = new ...
- 【laravel5.4】安装指定版本的predis 和 处理laravel5.*安装使用Redis以及解决Class 'Predis\Client' not found和Fatal error: Non-static method Redis::set() cannot be called statically错误
(predis下载地址:https://packagist.org/packages/predis/predis) 1.cmoposer 命令行: php composer require predi ...
- laravel5.7的redis配置,一直报错Class 'Predis\Client' not found
laravel5.7的redis配置,一直报错Class 'Predis\Client' not found 首先我检查了配置,和composer 都没有错,用原生的redis也可以正常连接和读写. ...
随机推荐
- 不升级 POI 版本,如何生成符合新版标准的Excel 2007文件
开心一刻 记得小时候,家里丢了钱,是我拿的,可爸妈却一口咬定是弟弟拿的 爸爸把弟弟打的遍体鳞伤,弟弟气愤的斜视着我 我不敢直视弟弟,目光转向爸爸说到:爸爸,你看他,好像还不服 问题描述 项目基于 PO ...
- Time Zone, Leap Year, Date Format, Epoch Time 时区, 闰年, 日期格式
前言 以前有写过一篇了, 但很乱, 这篇就作为它的整理版吧. Leap Year 闰年 闰年是指那些有 366 天, 二月份有 29号 的年份. 比如 2020年 有 2月29日, 所以 2020 就 ...
- CSP初赛知识点:Linux 系统
CSP初赛知识点:Linux 系统 前言 近年 CSP 初赛几乎前 5 道选择题都有一两道有关 Linux 系统的使用,所以作为备战 CSP-J/S 2024 的资料,整理下来啦. 祝各位今年所有考试 ...
- C++ STL(标准模版库)—— vector 与 迭代器
STL 基本概念 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称. STL 从广义上讲分为三类:algorithm(算法).containe ...
- QT原理与源码分析之如何开发一个自定义的绘图设备和QT绘图引擎?
简介 本文将介绍如何自定义QT绘图设备类和如何自定义QT绘图引擎类. 目录 QT绘图设备抽象类QPaintDevice QT绘图引擎抽象类QPaintEngine 自定义绘图设备类 自定义绘图引擎类 ...
- 使用 Flutter 3.19 更高效地开发
我们已隆重推出全新的 Flutter 版本--Flutter 3.19.此版本引入了专为 Gemini 设计的新 Dart SDK.一个能让开发者对 Widget 动画实现精细化控制的全新 Widge ...
- ARM汇编: B、BL 与R14(LR)、R15(PC)
1. b与bl指令的作用是什么? b与bl指令的作用:实现程序跳转,也就是调用子程序. 2. b与bl指令的区别是什么? b与bl指令的区别: b指令:简单的程序跳转,跳转到到目标标号处执行. bl指 ...
- Fio工具详解【强大的IO性能压测工具】
Fio压测工具操作 fio -name=iouring_test -filename=/mnt/vdd/testfile -iodepth=128 -thread -rw=randread -ioen ...
- Android dtbo(2) dto语法
设备树源 (DTS,device tree source) 格式是设备树的文本表示形式.设备树编译器 (DTC) 可将这种格式处理为二进制设备树,这是 Linux 内核要求的形式. 1. 使用引用 D ...
- vue打包的时候删除 console 和 debugger
esbuild: { pure: VITE_DROP_CONSOLE ? ['console.log', 'debugger'] : [], supported: { // https://githu ...