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 ...
随机推荐
- 【Ubuntu】VirtualBox 您没有查看“sf_VirtualDisk”的内容所需的权限。
转自:https://www.cnblogs.com/laishenghao/p/5346651.html 最终解决办法: sudo adduser lqr vboxsf 这里lqr是我的用户名 然后 ...
- Android开发(六)——组件颜色Selector(Selector与Shape的基本用法 )
andorid控件改变状态时改变颜色,使用selector. <?xml version="1.0" encoding="utf-8" ?> < ...
- java判断集合是否相等
1,使用commons-collection-3.2.1.jar包中的CollectionUtils.isEqualCollection()方法 2,还有其他集合操作:disjunction(a,b集 ...
- [转]快速搞懂Gson的用法
原文地址:http://coladesign.cn/fast-understand-the-usage-of-gson/ 谷歌gson这个Java类库可以把Java对象转换成JSON,也可以把JSON ...
- lateral view
原文地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+LateralView# lateral view用于和spl ...
- TP v5中Url Compat模式
compatible 对于配置pathinfo的支持,在Nginx作服务器.无数种系统要同时运行的环境,实在是一项很累赘的事情,而又不想很low的多个参数(像m.c.a)构造路由参数,我需要那种不必强 ...
- IIS 日志分析
查看哪个IP访问量大,访问了什么地址,大可以看到攻击者IP: select c-ip,count(c-ip) AS allcount,cs-uri-stem,cs-uri-query,cs(User- ...
- JProfiler 9版本注册码(亲测可用!!!)
JProfiler 9版本注册码(亲测可用!!!) 按默认选择“Single or evaluation license” ,Name 和 Company 随意填!!! JProfiler 9.2 ...
- 通过ambari安装hadoop集群(一)
之前一直用的开源社区的版本,最近突然想到找一个好的商业版本用着,然后一直使用,然后就定上了hdp和cdh,都装上去了,但是cdh使用难度太大了,和开源版本的差距比较大,api不会使用,需要学它的cdk ...
- curl_multi_select解决curl_multi网页假死问题
curl_multi可以批处理事务,给网页编程带来很大的方便.不过在使用curl_multi的过程中,我们会遇到一个比较头疼的问题,那就是当并发处理的事务数量过多的时候,就会出现CPU过高,网页假死的 ...