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();
  • 相关阅读:
    洛谷 P1226 【模板】快速幂||取余运算 题解
    洛谷 P2678 跳石头 题解
    洛谷 P2615 神奇的幻方 题解
    洛谷 P1083 借教室 题解
    洛谷 P1076 寻宝 题解
    洛谷 UVA10298 Power Strings 题解
    洛谷 P3375 【模板】KMP字符串匹配 题解
    Kafka Shell基本命令
    Mybatis与Hibernate的详细对比
    MyBatis简介
  • 原文地址:https://www.cnblogs.com/jack1995/p/7507251.html
Copyright © 2011-2022 走看看