PHP 与 Redis 入门教程
Redis 官方推荐的 PHP 客户端是 Predis 和 phpredis。
前者是完全使用 PHP 代码实现的原生客户端,而后者则是使用 C 语言编写的 PHP 扩展。在功能上两者区别并不大,就性能而言后者会更胜一筹。
总结起来就是使用 Predis 可以不安装扩展直接使用,而使用 phpredis 需要安装 PHP 扩展。
虽然 Predis 的性能逊于 phpredis,但是除非执行大量 Redis 命令,否则很难区分二者的性能。而且实际应用中执行 Redis 命令的开销更多在网络传输上,单纯注重客户端的性能意义不大。在开发时可以根据自己的项目需要来权衡使用哪个客户端。
Predis 对 PHP 版本的最低要求为 5.3。
安装 Predis
安装 Predis 可以克隆其版本库,也可以直接从 GitHub 项目主页中下载代码的 ZIP 压缩包。
下载地址 :
下载后解压并将整个文件夹复制到项目目录中即可使用。
使用时需要引入 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 入门教程的更多相关文章
- Redis入门教程:特性及数据类型的操作
虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...
- 【原】Redis入门教程
最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...
- Redis入门教程(二)
推荐阅读: Redis入门教程(一)https://www.cnblogs.com/jichi/p/10285346.html 5. Redis 的数据结构 5.1 Redis 数据结构介绍 redi ...
- 超强、超详细Redis入门教程【转】
这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用red ...
- 超详细Redis入门教程【转】
这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使 ...
- Redis入门教程(三)— Java中操作Redis
在Redis的官网上,我们可以看到Redis的Java客户端众多 其中,Jedis是Redis官方推荐,也是使用用户最多的Java客户端. 开始前的准备 使用jedis使用到的jedis-2.1.0. ...
- 超强、超详细Redis入门教程
(1)什么是redis? Redis 是一个基于内存的高性能key-value数据库. (有空再补充,有理解错误或不足欢迎指正) (2)Reids的特点 Redis本质上是一个Key-Value类型的 ...
- redis入门教程
21) Redis 简介Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库.2) 数据类型2.1. Redis 的 KeyRedi ...
- Redis入门教程(一)
一.NoSQL概述 1.什么是NoSQL NoSQL,泛指非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯 ...
- Redis入门教程(C#)
Redis是什么? Redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库. 补充概念: 持久化:是将程序数据在持久状态和瞬时状态间转换的机制.通俗的 ...
随机推荐
- 【Python音乐生成】可能有用的一些Python库
1,Python-MIDI,很多操作库的前置库.作者提供了一个python3的branch.git clone下来之后注意切换到这个branch之后再运行setup.py. 实际使用的时候,使用 im ...
- shiro无法进入授权的方法org.crazycake.shiro.exception.PrincipalInstanceException: class java.util.HashMap must has getter for field: id
rg.crazycake.shiro.exception.PrincipalInstanceException: class java.util.HashMap must has getter for ...
- linux网卡的配置(解决刚刚安装linux,Xshell连接不上问题)
1.输入用户名和密码 2.cd到网卡文件夹 3.对网卡文件进行编辑 vi ifcfg-eth0 然后 a 进行编辑 然后esc退出,shift+zz保存 4.重启网卡 /etc/init.d/netw ...
- ZooKeeper保证之单一视图(Single System Image)
由于ZooKeeper的数据模型简单且全部在内存中,ZooKeeper的速度非常快.它提供了一系列保证(Guarantees): • 顺序一致性(Sequential Consistency) • 原 ...
- 转:Python集合(set)类型的操作
转自:http://blog.csdn.net/business122/article/details/7541486 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系 ...
- Nodejs:Node.js模块机制小结
今天读了<深入浅出Nodejs>的第二章:模块机制.现在做一个简单的小结. 序:模块机制大致从这几个部分来讲:JS模块机制的由来.CommonJS AMD CMD.Node模块机制和包和n ...
- Qt之QThread随记
这是一篇随记,排版什么的就没有那么好了:) 首先要知道,一个线程在资源分配完之后是以某段代码为起点开始执行的,例如STL内的std::thread,POSIX下的pthread等,都是以函数加其参数之 ...
- SpringBoot之自动配置原理
我在前面的Helloworld的程序中已经分析过一次,配置原理了: 1).SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration 2).@En ...
- 进入docker容器并执行命令的的3中方法
进入docker容器并执行命令的的3中方法 docker exec nsenter docker attach "container" 建议使用nsenter, exec有 ...
- yum安装报错
检查了好久才知道原来是 sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33 下的DNS配错了,改好之后,sudo service network ...