Redis系列-php怎么通过redis扩展使用redis
From: http://blog.csdn.net/love__coder/article/details/8691679
通过前面几篇blog,我们应该对redis有个大致的认识,这里再讲解下,php怎么连接redis服务器进行数据读写?
1、安装php扩展
a)安装php扩展phpredis:
- [root@xsf002 tool]# git clone https://github.com/nicolasff/phpredis.git phpredis
- [root@xsf002 tool]# cd phpredis/
- [root@xsf002 phpredis]# /usr/local/php/bin/phpize #<SPAN style="TEXT-INDENT: 20px">假设 php目录:</SPAN><SPAN style="TEXT-INDENT: 20px">/usr/local/php</SPAN>
- [root@xsf002 phpredis]# ./configure --with-php-config=/usr/local/php/bin/php-config
- [root@xsf002 phpredis]# make
- [root@xsf002 phpredis]# make install
[root@xsf002 tool]# git clone https://github.com/nicolasff/phpredis.git phpredis
[root@xsf002 tool]# cd phpredis/
[root@xsf002 phpredis]# /usr/local/php/bin/phpize #假设 php目录:/usr/local/php
[root@xsf002 phpredis]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@xsf002 phpredis]# make
[root@xsf002 phpredis]# make install
如果顺利,将得到类似如下提示:
- Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
php扩展文件目录下,将有个redis.so文件。
b)加载redis.so
在php.ini 文件中,添加配置:
- [redis]
- extension=redis.so
[redis]
extension=redis.so
重启web服务器,echo phpinfo() ,将看到大致如下显示:

2、通过扩展访问redis服务器
php如何使用redis服务器存取数据?无非是经过phpredis扩展模块,通过如下几个步骤:
1、实例化redis类 【new redis()】
2、调用redis类方法,连接redis服务器 【connect,pconnect】
3、设置连接选项【setOption】
4、存/取数据
5、关闭连接 【close】
如果使用默认选项,步骤3不需要。请参看下面的代码示例:
- <?php
- $redis = new Redis(); #实例化redis类
- $redis->connect('127.0.0.1'); #连接服务器
- $redis->set('key', 'hello '); #调用方法,设置string类型值
- $redis->append('key', 'world'); #修改string类型值
- echo $redis->get('key'); #获取redis key的值,并输出显示
- echo $redis->type('key'); #获取key 的数据类型
- echo $redis->echo('will close...');# 输出字符串
- $redis->close(); #关闭连接
<?php
$redis = new Redis(); #实例化redis类
$redis->connect('127.0.0.1'); #连接服务器
$redis->set('key', 'hello '); #调用方法,设置string类型值
$redis->append('key', 'world'); #修改string类型值
echo $redis->get('key'); #获取redis key的值,并输出显示
echo $redis->type('key'); #获取key 的数据类型
echo $redis->echo('will close...');# 输出字符串
$redis->close(); #关闭连接
通过上面的代码,我们基本完成一个简单redis的存取操作。下面罗列一些Redis类的一些属性及方法
a)连接redis server:
- connect :连接server
- pconnect :长连接
- auth :权限验证
- select :选择DB
- close : 关闭连接
- setOption : 设置 client 选项
- getOption : 获取client选项
- ping : ping redis server
- echo : 输出 字符串
注意,如果频繁操作redis,不停地connect 和close会很耗性能的,这个时候,建议用pconnect 建立个长连接
b)字符串读写函数
- append :在值的后面追加值
- decr :递减一个key的值
- incr :递增一个key的值
- get :获取一个值
- set :设置一个值
- getSet :设置值,并返回老值
- mGet :批量获取值
- mSet :批量设置值
- strlen :获取值长度
注意:如果能用批量操作尽量用批量,减少频繁连接redis数据库性能
c)hash读写函数
- hDel :删除一个多个域
- hExists :判断一个hash域是否存在
- hGet :获取hash域的值
- hGetAll :获取所有域值
- hIncrBy :自增长一个hash int域的值
- hKeys :获取hash 所有域
- hLen :获取域个数
- hMGet :批量获取域的值
- hMSet :批量设置域的值
- hSet :设置域的值
- hVals:得到所有域的值
d)list读写函数
- lInsert:插入元素
- lLen:list长度
- lPop:移除并获取第一个颜色
- lPush:插入一个元素
- lRem:移除元素
- lSet:设置元素值
e)set
- sAdd:增加一个或多个成员
- sIsMember:是否包含
- sMembers:得到成员
- sMove:移动成员
- sPop:移除成员
- sRandMember:得到随机成员
- sRem:删除
f)sorted set
- zAdd:增加一个或多个
- zCard:成员个数
- zIncrBy:递增成员score
- zRange:返回索引范围内的成员
- zRangeByScore :返回score范围内的成员
- zScore:获取成员score
- zRem:移除一个或多个成员
更多信息请参考:https://github.com/nicolasff/phpredis
http://redis.io/clients
Redis系列-php怎么通过redis扩展使用redis的更多相关文章
- redis系列(三):python操作redis
1.安装包 pip install redis 2.使用 # -*- coding: utf-8 -*- # @Time : 18-12-7 下午4:33 # @Author : Felix Wang ...
- 【Redis系列】Spring boot实现监听Redis key失效事件
talk is cheap, show me the code. 一.开启Redis key过期提醒 方式二:修改配置文件 redis.conf # 默认 notify-keyspace-events ...
- Redis系列总结--这几点你会了吗?
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 前面几篇已经对Redis中几个关键知识点做了介绍,本篇主要对Redis系列做一下总结以及对Redis中常见面试 ...
- Redis系列5:深入分析Cluster 集群模式
Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) 1 背景 前面我们 ...
- Redis系列(2)之数据类型
Redis系列(2)之数据类型 <Redis系列(1)之安装>中介绍了Redis支持以下几种数据类型,那么本节主要介绍学习下这几种数据类型的基本操作 字符串类型,string 散列类型,h ...
- Redis系列整理
0.Redis系列-安装部署维护篇 1.Redis系列-远程连接redis并给redis加锁 2.Redis系列-存储篇string主要操作函数小结 3.Redis系列-存储篇list主要操作函数小结 ...
- Redis 系列(04-2)Redis原理 - 内存回收
目录 Redis 系列(04-2)Redis原理 - 内存回收 Redis 系列目录 1. 过期策略 1.1 定时过期(主动淘汰) 1.2 惰性过期(被动淘汰) 1.3 定期过期 2. 淘汰策略 2. ...
- Redis 系列
Redis 系列 [Redis 系列(01)安装配制] [Redis 系列(02)数据结构] [Redis 系列(03-1)进阶 - 发布订阅] [Redis 系列(03-2)进阶 - 事务] [Re ...
- 【目录】redis 系列篇
随笔分类 - redis 系列篇 redis 系列27 Cluster高可用 (2) 摘要: 一. ASK错误 集群上篇最后讲到,对于重新分片由redis-trib负责执行,关于该工具以后再介绍.在进 ...
- Redis系列4:高可用之Sentinel(哨兵模式)
Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 1 背景 从第三篇 Redis系列3:高可用之主从架构 ,我们知道,为Re ...
随机推荐
- hive内部表、外部表、分区
hive内部表.外部表.分区 内部表(managed table) 默认创建的是内部表(managed table),存储位置在hive.metastore.warehouse.dir设置,默认位置是 ...
- Android开发(二)——自定义圆形控件的使用CircleImageView
CircleImageView,a fast circular ImageView perfect for profile images. 主要的类CircleImageView: package d ...
- C++类默认函数
问题,which is true??? 每个类都有一个无参构造函数 每个类都有一个拷贝构造函数 每个类可以有多个构造函数 每个类可以多个析构函数 默认构造函数 析构函数 拷贝构造函数 赋值 ...
- iis部署wcf服务
win8的如下 . 打开iis新建一个应用程序MyWcfTest 检查iis中的处理程序映射,含有svc说明激活了. 然后把svc文件和webconfig放入到指定的目录上. 使用地址http://l ...
- [转]MySQL函数大全 及用法示例
原文地址:http://blog.sina.com.cn/s/blog_4586764e0100h5ct.html 1.字符串函数ascii(str) 返回字符串str的第一个字符的ascii值( ...
- 完美解决PHP中文乱码
一.首先是PHP网页的编码 1. php文件本身的编码与网页的编码应匹配 a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; cha ...
- base64 数据编码原理
例子 macOS 终端输入:echo d3d3LmNuYmxvZ3MuY29tL3poZW5nYmlu | base64 -D Linux 终端输入:echo d3d3LmNuYmxvZ3MuY29t ...
- Unity Shader学习资料
文本教程 http://www.cnblogs.com/polobymulberry/p/4314147.html 视频教程 http://www.sikiedu.com/my/course/37 冯 ...
- Spring WebSocket教程(二)
实现目标 这一篇文章,就要直接实现聊天的功能,并且,在聊天功能的基础上,再实现缓存一定聊天记录的功能. 第一步:聊天实现原理 首先,需要明确我们的需求.通常,网页上的聊天,都是聊天室的形式,所以,这个 ...
- Sahi (3) —— 压力测试Load Test以CAS SSO登陆场景为例(103 Tutorial)
Sahi (3) -- 压力测试Load Test以CAS SSO登陆场景为例(103 Tutorial) jvm版本: 1.8.0_65 sahi版本: Sahi Pro 6.1.0 参考来源: S ...