/* 根据多个key获取多个value,不存在的key返回false    getMultiple是别名?
* @param array 包含key的数组
* @return array 返回key对应value的数组
*/
$redis->set('key1', 'value1');
$redis->set('key2', 'value2');
$redis->set('key3', 'value3');
$redis->mGet(array('key1', 'key2', 'key3')); // array('value1', 'value2', 'value3')
$redis->mGet(array('key0', 'key1', 'key5')); // array(`FALSE`, 'value2', `FALSE`); /* 设置key的value,并返回旧的value
* @param key
* @return string value 旧的value
*/
$redis->set('x', '42');
$exValue = $redis->getSet('x', 'lol'); // return '42', replaces x by 'lol'
$newValue = $redis->get('x'); // return 'lol' /* 返回一个随机的key
* @return string key
*/
$key = $redis->randomKey();
$surprise = $redis->get($key); // who knows what's in there. /* 将一个key移到不同的数据库中
* @param key 要移动的key
* @param int 数据库索引
* @return bool 成功返回true,失败返回false
*/
$redis->select(0); // switch to DB 0
$redis->set('x', '42'); // write 42 to x
$redis->move('x', 1); // move to DB 1
$redis->select(1); // switch to DB 1
$redis->get('x'); // will return 42 /* 重新命名一个key 别名:renameKey
* @param string srckey 旧key名称
* @param string dstkey 新key名称
* @return bool 成功返回true,失败返回false
*/
$redis->set('x', '42');
$redis->rename('x', 'y');
$redis->get('y'); // → 42
$redis->get('x'); // → `FALSE` /* 重新命名一个key,如果新key已存在,则不替换
* @param string srckey 旧key名称
* @param string dstkey 新key名称
* @return bool 成功返回true,失败返回false
*/
$redis->set('x', '42');
$redis->set('y', '43');
$redis->renameNx('x', 'y'); //替换失败,y已存在,返回false /* 设置生存时间,别名:setTimeout, pexpire
* @param key
* @param int ttl 单位是秒
* @return bool 成功返回true,失败返回false
*/
$redis->set('x', '42');
$redis->setTimeout('x', 3); // x will disappear in 3 seconds.
sleep(5); // wait 5 seconds
$redis->get('x'); // will return `FALSE`, as 'x' has expired. /* 设置生存时间,别名:pexpireAt
* @param string key
* @param int timestamp 时间戳,超过该时间key戳无效
* @return bool 成功返回true,失败返回false
*/
$redis->set('x', '42');
$now = time(NULL); // current timestamp
$redis->expireAt('x', $now + 3); // x will disappear in 3 seconds.
sleep(5); // wait 5 seconds
$redis->get('x'); // will return `FALSE`, as 'x' has expired. /* 返回和模式匹配成功的所有key 别名:getKeys
* @param string 模式
* @return array/string 单个值或数组
*/
$allKeys = $redis->keys('*'); // all keys will match this.
$keyWithUserPrefix = $redis->keys('user*'); /* 充key空间中搜索key
* 不是很懂$it的作用
*/
$it = NULL; /* Initialize our iterator to NULL */
$redis->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY); /* retry when we get no keys back */
while($arr_keys = $redis->scan($it)) {
foreach($arr_keys as $str_key) {
echo "Here is a key: $str_key\n";
}
echo "No more keys to scan!\n";
} /* 根据参数,查看相应key的信息
* @param string “encoding”返回给定 key 锁储存的值所使用的内部表示(representation);“refcount”返回给定 key 引用所储存的值的次数(此命令主要用于除错);“idletime”返回给定 key 自储存以来的空闲时间(idle, 没有被读取也没有被写入),以秒为单位
* @return “encoding”返回string,“refcount、idletime”返回long
*/
$redis->object("encoding", "l"); // → ziplist
$redis->object("refcount", "l"); // → 1
$redis->object("idletime", "l"); // → 400 (in seconds, with a precision of 10 seconds) /* 返回key指向的value的类型
* @param key key
* @return string: Redis::REDIS_STRING(1)、set: Redis::REDIS_SET(2)、list: Redis::REDIS_LIST(3)、zset: Redis::REDIS_ZSET(4)、hash: Redis::REDIS_HASH(5)、other: Redis::REDIS_NOT_FOUND(0)
*/ $redis->sadd('key_1','value_1');
$redis->sadd('key_1','value_2');
echo $redis->type('key_1'); // echo 2 /* 追加字符串到指定key的value中去
* @param key
* @param value
* @return int 追加之后的value长度
*/
$redis->set('key', 'value1');
$redis->append('key', 'value2'); /* 12 */
$redis->get('key'); /* 'value1value2' */ /* 获取key指向value的子字符串
* @param key
* @param int start 开始下标
* @param int end 结束下标
* @return string 子字符串
*/
$redis->set('key', 'string value');
$redis->getRange('key', 0, 5); /* 'string' */
$redis->getRange('key', -5, -1); /* 'value' */ /* 改变key指向value的子字符串
* @param key
* @param offset 偏移量
* @param value 值
* @return int 返回修改后字符串的长度
*/
$redis->set('key', 'Hello world');
$redis->setRange('key', 6, "redis"); /* returns 11 */
$redis->get('key'); /* "Hello redis" */ /* 返回value的长度
* @param key
* @return int 返回字符串长度
*/
$redis->set('key', 'value');
$redis->strlen('key'); /* 5 */ /* 从key指向的value中获取指定位置的bit值
* @param key
* @param offset 偏移量
* @return long 0/1
*/
$redis->set('key', "\x7f"); // this is 0111 1111
$redis->getBit('key', 0); /* 0 */
$redis->getBit('key', 1); /* 1 */ /* 改变字符串指向value的指定位置的bit
* @param key
* @param offset 偏移量
* @param int value 0/1
* @return long 0/1 返回改变之前该位置的bit
*/
$redis->set('key', "*"); // ord("*") = 42 = 0x2f = "0010 1010"
$redis->setBit('key', 5, 1); /* returns 0 */
$redis->setBit('key', 7, 1); /* returns 0 */
$redis->get('key'); /* chr(0x2f) = "/" = b("0010 1111") */ /* 根据对应的操作对多个位进行运算
* @param operation “AND”、“OR”、“NOT”、“XOR”
* @param ret_key 返回结果
* @param key1
* @param key2
* @param ...
* @return long 返回结果key的长度
*/
$key1 = '0';
$redis->setbit($key1,1,1);
$redis->expire($key1,1000); $key2 = '1';
$redis->setbit($key2,2,1);
$redis->expire($key2,1000); $redis->bitop('OR','t_key',$key1,$key2);
$redis->get('t_key'); //echo $key1 OR $key2 /* 统计字符串bit的数量
* @param key
* @return long value 返回
*/
$redis->set('key2','2');
$redis->bitcount('key2'); //echo 3 '2'的ascii为51,二进制位110100,3个11
$redis->set('key1','3');
$redis->bitcount('key1'); //echo 4 '3'的ascii为51,二进制位110011,4个11 /* 根据给的参数,进行排序
* @param array
* 'by' => 'some_pattern_*', 通过该字段排序,user_level_* 是一个占位符, 它先取出 uid 中的值, 然后再用这个值来查找相应的键
* 'limit' => array(offset, count), 分页
* 'get' => 'some_other_pattern_*' or an array of patterns, 连接更多的key-valuve
* 'sort' => 'asc' or 'desc', 降序或者升序
* 'alpha' => TRUE, sort默认排序对象为数字,当需要对字符串进行排序时将改参数设置为true
* 'store' => 'external-key' 将排序结果保存到该key上
* @return value 返回一个数组
*/
$redis->LPUSH('user_id', 1);//(integer) 1
$redis->SET('user_name_1', 'admin');
$redis->SET('user_level_1',9999); $redis->LPUSH('user_id', 2);//(integer) 2
$redis->SET('user_name_2', 'huangz');
$redis->SET('user_level_2', 10); $redis->LPUSH('user_id', 59230);//(integer) 3
$redis->SET('user_name_59230','jack');
$redis->SET('user_level_59230', 3); $redis->LPUSH('user_id', 222); //(integer) 4
$redis->SET('user_name_222', 'hacker');
$redis->SET('user_level_222', 9999); $redis->SET('user_password_222', "hey,im in");
$redis->SET('user_password_1', "a_long_long_password");
$redis->SET('user_password_2', "nobodyknows");
$redis->SET('user_password_59230', "jack201022"); print_r($redis->sort('user_id')); //Array ( [0] => 1 [1] => 2 [2] => 222 [3] => 59230 ) $redis->sort('user_id',array('store'=>'store_key'));
print_r($redis->LRANGE('store_key',0,4)); //Array ( [0] => 1 [1] => 2 [2] => 222 [3] => 59230 ) print_r($redis->SORT('user_id',array('BY'=>'user_level_*', 'SORT'=>'DESC' ))); //Array ( [0] => 222 [1] => 1 [2] => 2 [3] => 59230 ) print_r($redis->sort('user_id',array('limit'=>array(1,2)))); //Array ( [0] => 2 [1] => 222 ) print_r($redis->SORT('user_id',array( 'BY'=>'user_id*', 'SORT'=>'asc', 'GET'=>array('user_name_*','user_password_*') )));//Array ( [0] => admin [1] => a_long_long_password [2] => huangz [3] => nobodyknows [4] => hacker [5] => hey,im in [6] => jack [7] => jack201022 ) /* 返回给的的key的生存时间
* @param key
* @return long 返回时间,单位为秒
*/
$redis->set('key_1','value_1');
$redis->expire('key_1',100);
$redis->ttl('key_1'); // /* 返回给的的key的生存时间
* @param key
* @return long 返回时间,单位为毫秒
*/
$redis->set('key_1','value_1');
$redis->pexpire('key_1',100);
$redis->pttl('key_1'); // /* 移除有效时间ttl
* @param key
* @return bool 成功返回true,失败返回false
*/
$redis->set('key_1','value_1');
$redis->pexpire('key_1',100);
$redis->pttl('key_1'); //
$redis->persist('key_1');
$redis->pttl('key_1'); //-1 /* 插入多个键值对key-value
* @param array key-value
* @return bool 成功返回true,失败返回false
*/
$redis->mset(array('key0' => 'value0', 'key1' => 'value1'));
$redis->get('key0'); //value0
$redis->get('key1'); //value1 /* 插入多个键值对key-value,如果key存在则不插入
* @param array key-value
* @return bool 成功返回true,失败返回false
*/
$redis->msetnx(array('key0' => 'value0', 'key2' => 'value2')); //如果有key存在,则直接返回false不操作
$redis->get('key0'); //value0
$redis->get('key2'); //value2

PHP-Redis扩展使用手册(二)的更多相关文章

  1. C#实现的Redis扩展项目(二次封装)

    Redis在当下的互联网项目当中的普及率我想都不用多说了,本文要介绍的這个项目是基于我对Redis理解程度的基础上写的一个公共类库项目,希望对各位童鞋有所帮助,也欢迎各位对我都内容提出更好的意见. 由 ...

  2. WinDbg 命令三部曲:(二)WinDbg SOS 扩展命令手册

    本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 系列博文 <WinDbg 命令三部曲:(一)WinDbg 命令手册> <WinDb ...

  3. centos7上安装redis以及PHP安装redis扩展(二)

    PHP 使用 Redis 安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP. 接下来让我们安装 PH ...

  4. redis/php redis扩展 安装

    作者:silenceper 日期:2013-10-03 原文地址: http://silenceper.com/archives/952.html 我是在CentOS 6.3 中进行的. 使用到的软件 ...

  5. mac机上搭建php56/nginx 1.8.x/thinkphp 3.2.x/gearman扩展/seaslog扩展/redis扩展环境

    php的各种扩展配置起来实在不容易,记录一下备忘: 一.php56 安装 虽然php7出来了,但是没用过,不知道有没有坑,这里仍然使用php5.6版本 1.1 安装php/php-pfm brew u ...

  6. windows下安装php5.5的redis扩展

    windows下开发用的xampp集成的环境,想装个php-redis扩展,扩展的github地址:  https://github.com/nicolasff/phpredis php_redis. ...

  7. redis 扩展 安装 和 memcached 安装

    在Windows下为PHP5.6安装redis扩展和memcached扩展   一.php安装redis扩展   1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本       ...

  8. linux下的redis安装以及php添加redis扩展

    一.redis的安装 win版本详见: 下面是linux版本的安装步骤: step1.下载 http://redis.io/download下载完后直接make然后make install,注意sud ...

  9. windows下与linux下安装redis及redis扩展

    1.        Redis的介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起 ...

  10. 安装redis和php的redis扩展

    一.安装Redis 在服务器上下载好最新的redis解压包后,解压 #tar -zxvf redis-3.2.0-tar-gz #cd redis-3.2.0-tar-gz #make (redis- ...

随机推荐

  1. %我的 tex 模版

    %我的 tex 模版 \documentclass[UTF8,a1paper,landscape]{ctexart}%UTF8 中文支持,a1paper 纸张大小,landscape 横向版面,cte ...

  2. [Head First设计模式]一个人的平安夜——单例模式

    系列文章 [Head First设计模式]山西面馆中的设计模式——装饰者模式 [Head First设计模式]山西面馆中的设计模式——观察者模式 [Head First设计模式]山西面馆中的设计模式— ...

  3. [UML]UML系列——用例图中的各种关系(include、extend)

    用例图中的各种关系 一.参与者与用例间的关联关系 参与者与用例之间的通信,也成为关联或通信关系. 二.用例与用例之间的关系 包含关系(include) 扩展关系(extend) 包含关系 (1)  概 ...

  4. tyvj1194 划分大理石

    描述 有价值分别为1..6的大理石各a[1..6]块,现要将它们分成两部分,使得两部分价值之和相等,问是否可以实现.其中大理石的总数不超过20000.  输入格式 有多组数据!所以可能有多行如果有0  ...

  5. vijos1404 遭遇战

    描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了.(一 ...

  6. 在Linux上挂载Windows共享文件夹,如何开机自动挂载(mount)?

    按照一般的思路,我们先将文件夹挂载上去,命令如下: mkdir /mnt/share_software mount //192.9.206.43/share_software /mnt/share_s ...

  7. php 操作数组 (合并,拆分,追加,查找,删除等)

    1. 合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组.所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加.其形式为: array array_merg ...

  8. Python简单源码解析

    主要为一些简单的源代码的解析以及一些方法的理解. 说明:这些文件都不是我写的,详情可参考Github上的内容. 批量修改文件类型 def batch_rename(work_dir, old_ext, ...

  9. 【XLL 框架库函数】 TempActiveColumn/TempActiveColumn12

    创建一个包含所有激活工作表列的 XLOPER/XLOPER12 LPXLOPER TempActiveColumn(BYTE col); LPXLOPER12 TempActiveColumn12(C ...

  10. java冒泡排序

    public class BubbleSort { public static void main(String[] args) { int score[] = {1,4,5,7,2,3,9,0,6, ...