Redis 官方推荐的 PHP 客户端是 Predisphpredis

前者是完全使用 PHP 代码实现的原生客户端,而后者则是使用 C 语言编写的 PHP 扩展。在功能上两者区别并不大,就性能而言后者会更胜一筹。

总结起来就是使用 Predis 可以不安装扩展直接使用,而使用 phpredis 需要安装 PHP 扩展。

虽然 Predis 的性能逊于 phpredis,但是除非执行大量 Redis 命令,否则很难区分二者的性能。而且实际应用中执行 Redis 命令的开销更多在网络传输上,单纯注重客户端的性能意义不大。在开发时可以根据自己的项目需要来权衡使用哪个客户端。

Predis 对 PHP 版本的最低要求为 5.3。


安装 Predis

安装 Predis 可以克隆其版本库,也可以直接从 GitHub 项目主页中下载代码的 ZIP 压缩包。

下载地址 :

https://github.com/nrk/predis

下载后解压并将整个文件夹复制到项目目录中即可使用。

使用时需要引入 autoload.php:

  1. require "./lib/predis-1.1/autoload.php";

使用方法

首先创建一个到 Redis 的连接:

  1. $redis = new Predis\Client();

该行代码会默认 Redis 的地址为 127.0.0.1,端口为 6379。

如果需要更改地址或端口,可以使用

  1. $redis = new Predis\Client(
  2.  
  3.   array(
  4.  
  5.     'scheme' => 'tcp',
  6.  
  7.     'host' => '127.0.0.1',
  8.  
  9.     'port' =>
  10.  
  11.   )
  12.  
  13. );

使用 GET 命令:

echo $redis->get('foo');

该行代码获得了键名为 foo 的字符串类型键的值并输出出来,如果不存在则会返回 NULL。

当 foo 键的类型不是字符串类型(如列表或集合类型)时会报异常,可以为该行代码加上异常处理:

  1. try {
  2.  
  3.   echo $redis->get('foo');
  4.  
  5. }
  6.  
  7. catch(Exception $e) {
  8.  
  9.   echo "Message: {$e->getMessage()}";
  10.  
  11. }

调用其他命令的方法和 GET 命令一样,如要执行 LPUSH numbers 1 2 3:

  1. $redis->lpush('numbers', '', '', '');

PHP 与 Redis 入门教程的更多相关文章

  1. Redis入门教程:特性及数据类型的操作

    虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...

  2. 【原】Redis入门教程

    最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...

  3. Redis入门教程(二)

    推荐阅读: Redis入门教程(一)https://www.cnblogs.com/jichi/p/10285346.html 5. Redis 的数据结构 5.1 Redis 数据结构介绍 redi ...

  4. 超强、超详细Redis入门教程【转】

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用red ...

  5. 超详细Redis入门教程【转】

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下   [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使 ...

  6. Redis入门教程(三)— Java中操作Redis

    在Redis的官网上,我们可以看到Redis的Java客户端众多 其中,Jedis是Redis官方推荐,也是使用用户最多的Java客户端. 开始前的准备 使用jedis使用到的jedis-2.1.0. ...

  7. 超强、超详细Redis入门教程

    (1)什么是redis? Redis 是一个基于内存的高性能key-value数据库. (有空再补充,有理解错误或不足欢迎指正) (2)Reids的特点 Redis本质上是一个Key-Value类型的 ...

  8. redis入门教程

    21) Redis 简介Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库.2) 数据类型2.1. Redis 的 KeyRedi ...

  9. Redis入门教程(一)

    一.NoSQL概述 1.什么是NoSQL NoSQL,泛指非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯 ...

  10. Redis入门教程(C#)

    Redis是什么? Redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库. 补充概念: 持久化:是将程序数据在持久状态和瞬时状态间转换的机制.通俗的 ...

随机推荐

  1. 更改placeholder样式

    /*不要将选择器进行组合*/ /* IE 10-11 */ :-ms-input-placeholder { color: #aaa; } /* webkit */ ::-webkit-input-p ...

  2. linux下如何实现mysql数据库定时自动备份

    概述   备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程.而对于一些网站.系统来说,数据库就是一切,所以做好 ...

  3. 【转载】2018 hosts 持续更新访问 gu歌【更新于:2018-05-03】

      修改HOSTS实现免费,简单访问谷歌的目的   也是比较稳定的方法.修改hosts.修改hosts的方法,原理在于直接存储谷歌网站的IP地址.这样就不用DNS来解析网址了.也就是说,当我们输入谷歌 ...

  4. x5webview 微信H5支付

    mWebView.setWebViewClient(new WebViewClient() { // @Override // public boolean shouldOverrideUrlLoad ...

  5. OO2019第四单元作业总结

    一.本单元两次作业的架构设计  1.第一次作业 第一次作业由于时间仓促,没有过多的架构设计,就直接补全了所给的MyUmlInteraction类,导致整个程序的代码风格和效率都不高,在强测中也因此失掉 ...

  6. latex目录标题常用宏包说明与示例

    http://blog.sina.com.cn/s/blog_5e16f1770100gyxn.html

  7. windows下安装python的包管理工具pip,scikit-learn

    打开https://pip.pypa.io/en/latest/installing.html#python-os-support 下载pip-get.py 进入python,执行pip-get.py ...

  8. BundleConfig的作用

    在ASP.NET MVC4中(在WebForm中应该也有),有一个叫做Bundle的东西,它用来将js和css进行压缩(多个文件可以打包成一个文件),并且可以区分调试和非调试,在调试时不进行压缩,以原 ...

  9. ios swift 里面关于变量 常量 可选类型 控制流的一些心得

    //swift 里面没有头文件和实现文件.只有一个.swift文件 //swift 里面没有main的概念,程序从main.swift开始执行 //swift 每一条执行语句可以不用分号结束,多条语句 ...

  10. java util - 时间工具包 PrettyTime

    需要 prettytime-3.2.3.Final.jar 包 代码例子 package cn.java.prettytime; import java.util.Date; import java. ...