//实例化对象
$redis = new Redis;
//短链接,本地host,端口为6379,超过1秒放弃链接
$redis->connect('127.0.0.1', 6379, 1);
//短链接(同上)
$redis->open('127.0.0.1', 6379, 1);
//长链接,本地host,端口为6379,超过1秒放弃链接
$redis->pconnect('127.0.0.1', 6379, 1);
//长链接(同上)
$redis->popen('127.0.0.1', 6379, 1);
//登录验证密码,返回【true | false】
$redis->auth('password');
//选择redis库, 0~15 共16个库,可以选择1库操作
$redis->select(0);
//释放资源
$redis->close();
//检查是否还再链接, [+pong]
$redis->ping();
//查看失效时间[-1 | timestamps]
$redis->ttl('key');
//移除失效时间[ 1 | 0]
$redis->persist('key');
//检查给定 key 是否存在。
$redis->set('w3ckey','redis');
var_dump($redis->exists('w3ckey')); // boolean true
$redis ->del('w3ckey');
var_dump($redis->exists('w3ckey')); // boolean(false)
//重命名一个KEY
$redis->set('x', '42');
$redis->rename('x', 'y');
$redis->get('y'); // → 42
$redis->get('x'); // → `FALSE`
//看起来功能和rename是一样的,但是renameNx不是KEY改名的功能,而是复制一个KEY的VALUE到一个新的KEY。
//是复制出一个新的KEY-VALUE,而VALUE则是srcKEY的VALUE,而不是PHP中的引用概念。
$redis->set('x', '42');
$redis->renameNx('x', 'y');
$redis->get('y'); // → 42
$redis->get('x'); // → 42
$redis->set('x','39');
$redis->get('x'); //->39
$redis->get('y'); //->42
//返回或保存给定列表、集合、有序集合key中经过排序的元素,$array为参数limit等!【配合$array很强大】 [array|false]
$redis->sort('key', [$array]);
$redis->delete('s');
$redis->sadd('s', 5);
$redis->sadd('s', 4);
$redis->sadd('s', 2);
$redis->sadd('s', 1);
$redis->sadd('s', 3);
var_dump($redis->sort('s')); // 1,2,3,4,5
var_dump($redis->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1
var_dump($redis->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5
//设置失效时间[true | false] 10秒以后被销毁
//给KEY设置一个生存周期,单位为秒。
$redis->expire('key', 10);
//给KEY设置一个生存周期,单位为毫秒。
$redis->set('x', 'php学习');
$redis->expire('x', 3000); // x will disappear in 3000 milliseconds.
//给一个KEY设置一个生命周期,单位是UNIX的时间戳。
$redis->set('x', '42');
$now = time(NULL); // current timestamp
$redis->expireAt('x', $now + 3); // x will disappear in 3 seconds.
//设置键的过期时间 当天有效
$expireTime = mktime(23, 59, 59, date("m"), date("d"), date("Y"));
$redis->expireAt($key, $expireTime);
//给一个KEY设置一个生命周期,单位为毫秒。
$redis->set('x', '42');
$now = time(); // current timestamp
$redis->expireAt('x', $now + 3000); // x will disappear in 3000 milliseconds.
//把当前库中的key移动到15库中[0|1]
$redis->move('key', 15);
//返回某种计算模式取得的KEYS。
$allKeys = $redis->keys('*'); // all keys will match this. 将会返回所有的key
$keyWithUserPrefix = $redis->keys('user*'); //返回user打头的key,相当于模糊搜索。
//删除指定key的值返回已经删除key的个数(长整数)
$redis->delete('key1', 'key2');
$redis->delete(array('key3', 'key4', 'key5'));
//强制刷新所有DB(生成环境请慎用,会清掉所有DB中的key)。
$redis->flushAll();
//进入、退出事务处理模式。
$ret = $redis->multi()
->set('key1', 'val1')
->get('key1')
->set('key2', 'val2')
->get('key2')
->exec();
/*
$ret == array(
0 => TRUE,
1 => 'val1',
2 => TRUE,
3 => 'val2');
*/