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