zoukankan      html  css  js  c++  java
  • PHP-Redis扩展使用手册(一)

        //初始化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);
    

      

  • 相关阅读:
    C#几个经常用到的字符串的截取
    写入Log错误日志
    AES 加密与解密
    支付宝小额免密支付和代扣区别:原来如此
    Sql server --触发器
    yum、ip、等命令无法不全子命令解决
    3、VNC
    6、DHCP
    2、OpenSsh
    VIM的使用
  • 原文地址:https://www.cnblogs.com/pandang/p/4887831.html
Copyright © 2011-2022 走看看