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:

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

使用方法

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

$redis = new Predis\Client();

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

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

$redis = new Predis\Client(

  array(

    'scheme' => 'tcp',

    'host' => '127.0.0.1',

    'port' => 

  )

);

使用 GET 命令:

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

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

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

 try {

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

}

catch(Exception $e) {

  echo "Message: {$e->getMessage()}";

}

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

$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. 46 Simple Python Exercises-Very simple exercises

    46 Simple Python Exercises-Very simple exercises 4.Write a function that takes a character (i.e. a s ...

  2. hihoCoder hiho一下 第一周 #1032 : 最长回文子串 (Manacher)

    题意:给一个字符串,求最长回文子串的长度. 思路: (1)暴力穷举.O(n^3) -----绝对不行. 穷举所有可能的出现子串O(n^2),再判断是否回文O(n).就是O(n*n*n)了. (2)记录 ...

  3. pat甲级1123

    1123 Is It a Complete AVL Tree(30 分) An AVL tree is a self-balancing binary search tree. In an AVL t ...

  4. iptables (1) 原理

    网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能有所帮助. iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防 ...

  5. iOS中的崩溃类型

    http://blog.csdn.net/womendeaiwoming/article/details/44243571 OS中的崩溃类型 在这里了解一下XCode用来表示各种崩溃类型的术语,补充一 ...

  6. VERITAS NETBACKUP运维手册(自制)

    ps:本文为目录.详情请点如下目录超链接 1 VERITAS NETBACKUP介绍 1.1 NBU基本概念 1.2 配置存储单元 1.3 配置备份策略(Policy) 1.4 配置NetBackup ...

  7. 增强的格式化字符串format函数

    http://blog.csdn.net/handsomekang/article/details/9183303 自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓 ...

  8. python_图形界面编程示例

    "常用Tkinter组件的使用" #一.弹出消息框 #1 弹出提示消息框 from tkinter.messagebox import * showinfo(title='提示', ...

  9. python之enumerate

    http://eagletff.blog.163.com/blog/static/116350928201266111125832/一般情况下,如果要对一个列表或者数组既要遍历索引又要遍历元素时,可以 ...

  10. C# 创建子目录

    运用DirectoryInfo类创建子目录是非常容易的,你只要调用其中CreateSubdirectory()方法即可,演示代码如下. DirectoryInfo dir = new Director ...