Redis系列-php怎么通过redis扩展使用redis
通过前面几篇blog,我们应该对redis有个大致的认识,这里再讲解下,php怎么连接redis服务器进行数据读写?
1、安装php扩展
a)安装php扩展phpredis:
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(); #关闭连接通过上面的代码,我们基本完成一个简单redis的存取操作。下面罗列一些Redis类的一些属性及方法a)连接redis server:
connect :连接serverpconnect :长连接auth :权限验证select :选择DBclose : 关闭连接 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:递增成员scorezRange:返回索引范围内的成员zRangeByScore :返回score范围内的成员zScore:获取成员scorezRem:移除一个或多个成员更多信息请参考:https://github.com/nicolasff/phpredis
http://redis.io/clients