ThinkPHP5+Redis Redis系统和通用函数


    
    //实例化对象    
    $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');
    */


最新回复 (0)
发新帖