zoukankan      html  css  js  c++  java
  • redis系统和通用函数

    1. construct函数: 用来创建一个redis客户端。

       redis = new Redis();
      
    2. connect函数:连接到一个redis实例。
      参数如下:
        host:字符串类型 可以使一个HOST IP或者是一个UNIX DOMAIN SOCKET的路径.
        port:整数型,Redis的运行端口.
        timeout:浮点型,连接的市场,单位是秒,默认为0即连接没有时间限制

       $redis->connect('127.0.0.1', 6379);
       $redis->connect('127.0.0.1'); // port 6379 by default
       $redis->connect('127.0.0.1', 6379, 2.5); // 2.5 sec timeout.
       $redis->connect('/tmp/redis.sock'); // unix domain socket.
      
    3. pconnect函数:pconnect用于连接一个Redis的实例或者复用一个已经存在的实例。这个连接将不会被主动关闭,比如使用close(),或者PHP执行结束这个连接都不会被主动关闭。当有大量的connect请求在redis服务器端时,使用持久化的连接对象。一个持久化的连接实例,可以使用HOST+PORT+TIMEOUT或者HOST+persistent_id或者SOCKET+TIMEOUT的方式创建。pconnect函数在线程版本中不能被使用。

       $redis->pconnect('127.0.0.1', 6379);
       $redis->pconnect('127.0.0.1'); // port 6379 by default - same connection like before.
       $redis->pconnect('127.0.0.1', 6379, 2.5); // 2.5 sec timeout and would be another connection than the two before.
       $redis->pconnect('127.0.0.1', 6379, 2.5, 'x'); // x is sent as persistent_id and would be another connection the the three before.
       $redis->pconnect('/tmp/redis.sock'); // unix domain socket - would be another connection than the four before.
      
    4. close函数:关闭Redis的连接实例,但是不能关闭用pconnect连接的实例

       $redis->close();
      
    5. setOption函数:设置客户端选项

       $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE);   // don't serialize data
       $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);    // use built-in serialize/unserialize
       $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_IGBINARY);   // use igBinary serialize/unserialize
       
       $redis->setOption(Redis::OPT_PREFIX, 'myAppName:'); // use custom prefix on all keys
      
    6. getOption函数:得到客户端选项

       $redis->getOption(Redis::OPT_SERIALIZER);   // return Redis::SERIALIZER_NONE, Redis::SERIALIZER_PHP, or Redis::SERIALIZER_IGBINARY.
      
    7. ping:检查当前连接实例的状态,如果失败,Throws一个RedisException对象报出连接错误。

    8. echo:发送一个字符串到Redis,返回一个相同的字符串。

    9. randomKey:返回一个随机的存在于REDIS中的KEY。

       $key = $redis->randomKey();
       $surprise = $redis->get($key);  // who knows what's in there.
      
    10. select:选择数据库,参数为整数值,为数据库索引,数据库的ID。

    11. auth:使用PASSWORD验证链接。警告:PASSWD以明码的形式在网络中传输。参数为string类型的password。

      $redis->auth('foobared');
      
    12. bgrewriteaof:使用aof来进行数据库持久化。

      $redis->bgrewriteaof();
      
    13. slaveof:选择从服务器,参数为从服务器ip地址和端口号,参数为空停止从服务器。

      $redis->slaveof('10.0.1.7', 6379);
      /* ... */
      $redis->slaveof();
      
    14. object:声明一个对象,并指向KEY。
       参数说明:
      检索信息(字符串)和密钥(字符串)。信息可以是以下之一:
      “编码”
      “引用计数”
      “空闲时间”

      $redis->object("encoding", "l"); // → ziplist
      $redis->object("refcount", "l"); // → 1
      $redis->object("idletime", "l"); // → 400 (in seconds, with a precision of 10 seconds).
      
    15. save:同步执行写入到磁盘。

      $redis->save();
      
    16. bgsave:异步保存到磁盘。

      $redis->bgSave();
      
    17. lastSave:返回最后一次数据磁盘持久化的时间戳。

      $redis->lastSave();
      
    18. flushDB:强制刷新当前DB。会清空当前db。

      $redis->flushDB();
      
    19. flushAll:强制刷新所有的DB。

      $redis->flushAll();
      
    20. sort:筛选
      参数说明:
      Key: key Options: array(key => value, ...) - optional, with the following keys and values:

      'by' => 'some_pattern_*',
      'limit' => array(0, 1),
      'get' => 'some_other_pattern_*' or an array of patterns,
      'sort' => 'asc' or 'desc',
      'alpha' => TRUE,
      'store' => 'external-key'
      

    实例:

    	$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
    
    1. info:返回redis的相关系统信息,可以选择参数,按照选择的参数返回相应的信息,也可以不写参数,返回所有的信息。
      参数:
      redis_version
      arch_bits
      uptime_in_seconds
      uptime_in_days
      connected_clients
      connected_slaves
      used_memory
      changes_since_last_save
      bgsave_in_progress
      las _save_time
      total_connections_received
      total_commands_processed
      role

      $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 */
      
    2. resetStat:使用info()重置静态的日志。

      $redis->resetStat();
      
    3. persist: 删除一个KEY的生命周期设置。

      $redis->persist('key');
      
    4. config:取得或者设置REIDS系统配置KEYS。
      参数:
      操作(字符串)获取或设置
      设置关键字符串,glob模式得到。看到http://redis.io/commands/config-get为例。
      值可选字符串(仅用于set)

      $redis->config("GET", "*max-*-entries*");
      $redis->config("SET", "dir", "/var/run/redis/dumps/");
      
    5. eval:在服务器端执行LUA脚本

    6. script:执行Redis脚本命令来执行各种操作。

    7. getLastError:取得最后的错误消息。

    8. _prefix:用于给VALUE加入前缀

    9. _unserialize:反序列化函数,用于序列化的SET类型数据。如果参数不是序列化的SET,那么会直接返回。如果是一个序列化的SET,但不是PHP-REDIS序列化的格式,函数将抛出一个异常。

      $redis->setOpt(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
      $redis->_unserialize('a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}'); // Will return Array(1,2,3)
      
    10. dump: 把一个KEY从REIDS中销毁(但是这个销毁不是物理意义上销毁),这个被销毁的VALUE,可以使用RESTORE函数恢复出来。使用DUMP销毁的VALUE,函数将返回这个数据在REIDS中的二进制内存地址。

    11. $redis->set('foo', 'bar');
      $val = $redis->dump('foo'); // $val will be the Redis encoded key value
      
    12. restore:恢复DUMP函数销毁的VALUE到一个新的KEY上。

      $redis->set('foo', 'bar');
      $val = $redis->dump('foo');
      $redis->restore('bar', 0, $val); // The key 'bar', will now be equal to the key 'foo'
      
    13. migrate:迁移一个KEY岛不同的REIDS实例。

      $redis->migrate('backup', 6379, 'foo', 0, 3600);
      
    14. time:返回当前REDIS服务器的生存时间。

      $redis->time();
  • 相关阅读:
    PAT A1108 Finding Average [字符串处理]
    PAT A1013 Battle Over Cities [图的遍历]
    关于斐波那契数列的算法
    关于浏览器的事件队列
    类型与进制转换
    【待整理】python 关键字
    闭包和函数的自运行
    cookie-cart购物车
    有意思的效果——左右摇摆
    工厂模式
  • 原文地址:https://www.cnblogs.com/jack1995/p/7507251.html
Copyright © 2011-2022 走看看