码迷,mamicode.com
首页 > Web开发 > 详细

PHP-Redis扩展使用手册(一)

时间:2015-10-17 17:45:20      阅读:449      评论:0      收藏:0      [点我收藏+]

标签:

    //初始化redis实例
	$redis = new Redis();
	
	/* connect 、 open 链接redis
	 * @param string host redis服务器地址
	 * @param int port 链接端口 可选
	 * @param float timeout 链接超时时间,可选,默认为0无限制
	 * @param NULL reserved 如果retry_interval有值,reserved应该为NULL
	 * @param int intry_interval 相隔intry_interval后尝试重新连接 可选
	 * @return bool 成功返回true,失败返回false
	 */
	$redis->connect($redis_host,$redis_port);
	
	/* 连接到一个redis实例或重用的连接已经建立
	 * @param string host redis服务器地址
	 * @param int port 链接端口 可选
	 * @param float timeout 链接超时时间,可选,默认为0无限制
	 * @param NULL reserved 如果retry_interval有值,reserved应该为NULL
	 * @param int intry_interval 相隔intry_interval后尝试重新连接 可选
	 * @return bool 成功返回true,失败返回false
	 */
	$redis->pconnect($redis_host,$redis_port);
	
	/* 使用密码验证连接是否合法,警告:密码在网络中使用明文传输
	 * @param string password 密码
	 * @return bool 合法返回true,否则返回false
	 */
	$redis->auth(‘password‘);
	
	/* 改变当前连接中已经选择的数据库,默认当前数据库下标为0,数据库16个
	 * @param index INTEGER 数据库下标
	 * @return bool 成功返回true,失败返回false
	 */
	 $redis->select(1);
	 
	/* 在当前redis实例中关闭除了使用pconnect建立的链接 */
	$redis->close();
	
	/* 设置客户端配置
	 * @param name 配置名称
	 * @param value 配置值
	 * @return bool 成功返回true,失败返回false
	 */
	$redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE); 
	
	/* 获取客户端配置
	 * @param name 配置名称 
	 * @return value 配置值
	 */
	$redis->getOption(Redis::OPT_SERIALIZER);
	
	/* 检查当前链接状态
	 * @return value 成功返回"+PONG",否则抛出RedisException异常
	 */
	$redis->ping();
	
	/* 发送一段字符串到redis服务,然后返回相同字符串
	 * @param string message 发送字符串
	 * @return string 返回消息
	 */
	$redis->echo(‘echo_msg‘);
	
	/* 开始在后台重写AOF(AppendOnly FILE),数据库持久化
	 * @return bool 成功返回true,失败返回false
	 */
	$redis->bgrewriteaof();
	
	/* 将数据异步保存到硬盘中
	 * @return bool 成功返回true,失败返回false,如果保存已经在运行,则返回false
	 */
	$redis->bgsave();
	
	/* 获取或者设置redis服务器配置参数
	 * @param string operation “GET” 或者 “SET”
	 * @param string key 获取或者设置的key
	 * @param string value 获取或者设置的value
	 * @return 如果是set,则返回bool,如果是get,则返回value
	 */
	$redis->config("GET","*max-*-entries");
	$redis->config("SET","dir","/var/run/redis/dumps/");
	
	/* 返回当前数据库key的数量
	 * @return int 数据库key的数量
	 */
	$redis->dbsize();
	
	/* 移除所有数据库中所有的key
	 * @return bool true 总是返回true
	 */
	$redis->flushAll();
	
	/* 移除所有key从当前数据库中
	 * @return value true 总是返回true
	 */
	$redis->flushDB();
	
	/* 获取关于服务器信息和统计,
	 * 无参数是 返回:
	 * redis_version redis版本信息
	 * arch_bits 框架(x86/x64)
	 * uptime_in_seconds redis运行的秒数
	 * uptime_in_days redis运行的天数
	 * connected_clients 客户端链接数
	 * connected_slaves 从服务器链接数
	 * used_memory 已使用内存大小
	 * changes_since_last_save  距离最近一次成功创建持久化文件之后,经过了多少秒
	 * bgsave_in_progress  一个标志值,记录了服务器是否正在创建 RDB 文件
	 * last_save_time  最近一次成功创建 RDB 文件的 UNIX 时间戳
	 * total_connections_received  服务器已接受的连接请求数量
	 * total_commands_processed   服务器已执行的命令数量
	 * role   如果当前服务器没有在复制任何其他服务器,那么这个域的值就是 master ;否则的话,这个域的值就是 slave 。注意,在创建复制链的时候,一个从服务器也可能是另一个服务器的主服务器。
	 * 如果存在参数,则获取参数对应部分数据,详细参照:http://redisdoc.com/server/info.html
	 * @param string 获取那部分数据
	 * @return assoc_array 关于服务器的消息或统计
	 */
	$redis->info(); 				/* standard redis INFO command */
	$redis->info("COMMANDSTATS"); 	/* Information on the commands that have been run (>=2.6 only)*/
	$redis->info("CPU");			/* just CPU information from Redis INFO */
	
	/* 返回上次保存数据到硬盘的时间戳
	 * @return int 时间戳
	 */
	$redis->lastSave();
	
	/* 重置info()函数返回的那些信息
	 * @return bool 成功返回true,失败返回false
	 */
	$redis->resetStat();
	
	/* 服务器异步保存数据到硬盘,等待操作完成
	 * @return bool 成功返回true,失败返回false,如果保存已经在运行,则返回false
	 */
	$redis->save();
	
	/* 改变从服务器
	 * 可填 host(string)、port(int)或者不填
	 * @return bool 成功返回true,失败返回false
	 */
	$redis->slaveof(‘10.0.1.7‘, 6379);
	$redis->slaveof();
	
	/* 返回服务器时间
	 * @return assoc_array 时间戳和微秒数
	 */
	$redis->time();
	
	/* 访问redis慢日记 
	 * @param string operation “GET”,“LEN”,“RESET”
	 * @return “GET“返回特定数目的慢查询,”RESET“重置慢查询,”LEN“返回慢查询条目数
	 */
	$redis->slowlog(‘get‘, 10); 
	$redis->slowlog(‘get‘);
	$redis->slowlog(‘reset‘);
	
	/* 通过key获取对应的value
	 * @param string or bool 
	 * @return string or bool 如果key不存在,返回false,否则返回value
	 */
	$redis->get(‘key‘);
	
	/* 设置key-value 
	 * @param key 
	 * @param value 
	 * @param timeout or option_array,过时时间或者选项数组,如果参数为整数,则调用SETEX,如果传一个数组,且redis 大于 2.6.12,则作为扩展选项数组
	 * @return bool 如果命令成功,返回true
	 */
	$redis->set(‘key‘, ‘value‘);
	$redis->set(‘key‘,‘value‘, 10);
	// Will set the key, if it doesn‘t exist, with a ttl of 10 seconds
	$redis->set(‘key‘, ‘value‘, Array(‘nx‘, ‘ex‘=>10));
	// Will set a key, if it does exist, with a ttl of 1000 miliseconds
	$redis->set(‘key‘, ‘value‘, Array(‘xx‘, ‘px‘=>1000));
	
	/* 设置key-value和 改key的ttl(生存时间)
	 * @param string key
	 * @param int ttl 单位为分钟
	 * @param string value 
	 * @return bool 成功返回true 
	 */
	$redis->setex(‘key‘, 3600, ‘value‘); // sets key → value, with 1h TTL.
	
	/* 设置key-value和 改key的ttl(生存时间)
	 * @param string key
	 * @param int ttl 单位为毫秒
	 * @param string value 
	 * @return bool 成功返回true 
	 */
	$redis->psetex(‘key‘, 100, ‘value‘); // sets key → value, with 0.1 sec TTL.
	
	/* 当key不存在,插入value,否则不操作
	 * @param key 
	 * @param value 
	 * @return bool 成功返回true,失败返回false,如果存在key也返回false
	 */
	$redis->setnx(‘key‘, ‘value‘);
	
	
	/* 移除key
	 * @param key_array
	 * @return int 删除key的个数
	 */
	$redis->set(‘key1‘, ‘val1‘);
	$redis->set(‘key2‘, ‘val2‘);
	$redis->set(‘key3‘, ‘val3‘);
	$redis->set(‘key4‘, ‘val4‘);
	$redis->delete(array(‘key3‘, ‘key4‘)); //return 2
	
	/* 判断key是否存在
	 * @param key 
	 * @return bool 存在返回true,否则返回false 
	 */
	$redis->exists(‘key‘);
	
	/* 使key对应的value自增1
	 * @param key 
	 * @return 一个新value
	 */
	 $redis->incr(‘key1‘);
	 
	 /* 使key对应的value增value
	  * @param key 
	  * @param int value 增量 
	  * @return 一个新value
	  */
	$redis->incrBy(‘key1‘,10);
	
	/* 使key对应的value增value 
	 * @param key 
	 * @param float value 增量 
	 * @return 一个新value
	 */
	$redis->incrByFloat(‘key1‘,1.3);
	
	/* 使key对应的value自减1
	 * @param key 
	 * @return 一个新value
	 */
	 $redis->decr(‘key1‘);
	
	/* 使key对应的value减value
	 * @param key 
	 * @param int value 
	 * @return 一个新value
	 */
	$redis->decrBy(‘key1‘,10);

  

PHP-Redis扩展使用手册(一)

标签:

原文地址:http://www.cnblogs.com/pandang/p/4887831.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!