首页 > 开发 > PHP > 正文

PHP操作Redis常用技巧总结

2024-05-04 22:43:26
字体:
来源:转载
供稿:网友

本文实例讲述了PHP操作Redis常用技巧。分享给大家供大家参考,具体如下:

一、Redis连接与认证

//连接参数:ip、端口、连接超时时间,连接成功返回true,否则返回false$ret = $redis->connect('127.0.0.1', 6379, 30);//密码认证:成功返回true,否则返回false$ret = $redis->auth('123456');

二、String操作

//设置键值:成功返回true,否则返回false$redis->set('mystr', 'Welcome!');//获取键值:成功返回String类型键值,若key不存在或不是String类型则返回false$ret = $redis->get('mystr');//从某个key所存储的字符串的指定偏移量开始,替换为另一指定字符串,成功返回替换后新字符串的长度。$ret = $redis->setRange('mystr', 7, ' to Beijing!');//获取存储在指定key中字符串的子字符串。$ret = $redis->getRange('mystr', 0, 6);//设置新值,返回旧值:若key不存在则设置值,返回false$ret = $redis->getSet('mystr', 'hi man');//一次设置多个键值对:成功返回true。$ret = $redis->mset(['name' => 'jet', 'age' => 18]);//一次获取多个key的值:返回一个键值对数组,其中不存在的key值为false。$ret = $redis->mget(['name', 'age']);//设置指定key的值及其过期时间,单位:秒。//参数:键名,过期时间,键值。成功返回true。$ret = $redis->setex('name', 10, 'jetwu');//以毫秒为单位设置指定key的值和过期时间。成功返回true。$ret = $redis->psetex('name', 10, 'jetwu');//key的值不存在时,才为其设置值。key不存在且设置成功返回true,否则返回false。$ret = $redis->setnx('name', 'boby');//setnx命令的批量操作。只有在给定所有key都不存在的时候才能设置成功,只要其中一个key存在,所有key都无法设置成功。$ret = $redis->msetnx(['country' => 'China', 'city' => 'Shenzhen']);//获取指定key存储的字符串的长度,key不存在返回0,不为字符串返回false。$ret = $redis->strlen('name');//将指定key存储的数字值增加1。若key不存在会先初始化为0再增加1,若key存储的不是整数值则返回false。成功返回key新值。$ret = $redis->incr('age');//给指定key存储的数字值增加指定增量值。$ret = $redis->incrBy('age', 10);//给指定key存储的数字值增加指定浮点数增量。$ret = $redis->incrByFloat('age', 1.5);//将指定key存储的数字值减一。$ret = $redis->decr('age');//将指定key存储的数字值减去指定减量值。$ret = $redis->decrBy('age', 10);//为指定key追加值到原值末尾,若key不存在则相对于set()函数。$ret = $redis->append('mystr', 'haha');

三、Hash操作

//为hash表中的字段赋值。成功返回1,失败返回0。若hash表不存在会先创建表再赋值,若字段已存在会覆盖旧值。$ret = $redis->hSet('user', 'realname', 'jetwu');//获取hash表中指定字段的值。若hash表不存在则返回false。$ret = $redis->hGet('user', 'realname');//查看hash表的某个字段是否存在,存在返回true,否则返回false。$ret = $redis->hExists('user', 'realname');//删除hash表的一个字段,不支持删除多个字段。成功返回1,否则返回0。$ret = $redis->hDel('user', 'realname');//同时设置某个hash表的多个字段值。成功返回true。$ret = $redis->hMset('user', ['name' => 'jet', 'age' => 18]);//同时获取某个hash表的多个字段值。其中不存在的字段值为false。$ret = $redis->hMget('user', ['name', 'age']);//获取某个hash表所有的字段和值。$ret = $redis->hGetAll('user');//获取某个hash表所有字段名。hash表不存在时返回空数组,key不为hash表时返回false。$ret = $redis->hKeys('user');//获取某个hash表所有字段值。$ret = $redis->hVals('user');//为hash表中不存在的字段赋值。若hash表不存在则先创建,若字段已存在则不做任何操作。设置成功返回true,否则返回false。$ret = $redis->hSetNx('user', 'realname', 'jetwu');//获取某个hash表的字段数量。若hash表不存在返回0,若key不为hash表则返回false。$ret = $redis->hLen('user');//为hash表中的指定字段加上指定增量值,若增量值为负数则相当于减法操作。若hash表不存在则先创建,若字段不存在则先初始化值为0再进行操作,若字段值为字符串则返回false。设置成功返回字段新值。$ret = $redis->hIncrBy('user', 'age', 10);//为hash表中的指定字段加上指定浮点数增量值。$ret = $redis->hIncrBy('user', 'age', 1.5);            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表