zoukankan      html  css  js  c++  java
  • redis学习之数据类型

    <?php
        //连接本地的 Redis 服务
       $redis = new Redis();
       $redis->connect('127.0.0.1', 6379);
       echo "Connection to server sucessfully";
             //查看服务是否运行
       echo "Server is running: " . $redis->ping();
    ?>

    string(字符串)

      也就是键值对 

     示例:$redis->set("tutorial-name", "Redis tutorial");

    hash(哈希)

    hSet()的语法格式是:$redis->hSet('hashTable','key','value'),给哈希表中某个 key 设置值.如果值已经存在, 返回 false 
    hGet()的语法格式是:$redis->hGet('hashTable','key')获取hash对象的某个键的值,不存在时返回false
    hSetNx()

    当哈希表中不存在某 key 时,给该 key 设置一个值  返回值

    • BOOL: 成功返回 TRUE. 失败返回 FALSE.
    • hLen()的语法是:$redis->hLen('hashObject')哈表中 key 的数量
    hDel()删除一个哈希 key.如果 hash 表不存在或对应的 key 不存在,返回 false
    hKeys()获得哈希表中所有的 key 
    hVals()获得哈希表中所有的值
    hGetAll()获得一个哈希表中所有的 key 和 value
    hExists() 检查哈希 key是否存在  
    hIncrBy()给哈希表中某 key 增加一个整数值
    例:
    1. $redis->hIncrBy('h', 'x', 2);  
    2. $redis->hIncrBy('h', 'x', 1);  

       hIncrByFloat()给哈希表中某 key 增加一个浮点数值

       hMSet()给哈希表设置多个 key 的值

      例:$redis->hMset('user:1', array('name' => 'Joe', 'salary' => 2000));  

       hMGet()获得哈希表中多个 key 的值

      例: 

    1. $redis->hSet('h', 'field1', 'value1');  
    2. $redis->hSet('h', 'field2', 'value2');  
    3. $redis->hmGet('h', array('field1', 'field2'));  

      

    list(列表)

       lPush()的语法格式是:$redis->lPush(key, value),作用是将value添加到链表key的左边(头部)。  

       rPush()的语法格式是:$redis->rPush(key, value),作用是将value添加到链表key的右边(尾部)。  

       lPushx 将值value插入到列表key的表头,当且仅当key存在并且是一个列表。  

       rPushx 将值value插入到列表key的表尾,当且仅当key存在并且是一个列表。

       lPop()的语法格式是:$redis->lPop(key),作用是将链表key的左边(头部)元素删除。  

       rPop()的语法格式是:$redis->rPop(key),作用是将链表key的右边(尾部)元素删除。

       lSize()的语法格式是:$redis->lSize(key),作用是返回链表key中有多少个元素。  

       lGet()/lIndex()的语法格式是:$redis->lGet(key, index),作用是返回链表key的index位置的元素值。

       lSet()的语法格式是:$redis->lSet(key, index, value),作用是将链表key的index位置的元素值设为value。  

       lRange()/lGetRange()的语法格式是:$redis->lRange(key, start, end),作用是返回链表key中start到end位置间的元素。end为-1时,返回所有元素

       lTrim()/listTrim()的语法格式是:$redis->lTrim(key, start, end),作用是截取链表key中start到end位置间的元素。

       lRem()的语法格式是:$redis->lRem(key, value, count),作用是删除链表key中|count|个值为value的元素。count为0,则删除所有value;count大于0,则从头到尾删除,count小于0,则从尾至头删除

      

    set(集合)

    
    
    sAdd()的语法格式是:$redis->sAdd('key' , 'member')添加一个VALUE到SET容器中,如果这个VALUE已经存在于SET中,那么返回FLASE。 如果set集合已存在则进行追加元素
      例:
    1. $redis->sAdd('key1' , 'member1'); /* TRUE, 'key1' => {'member1'} */  
    2. $redis->sAdd('key1' , 'member2'); /* TRUE, 'key1' => {'member1', 'member2'}*/  
    3. $redis->sAdd('key1' , 'member2'); /* FALSE, 'key1' => {'member1', 'member2'}*/  

    sRem()的语法格式是:$redis->sRem('key','value')移除指定的VALUE从SET容器中 
      例:  
    1. $redis->sAdd('key1' , 'member1');  
    2. $redis->sAdd('key1' , 'member2');  
    3. $redis->sAdd('key1' , 'member3'); /* 'key1' => {'member1', 'member2', 'member3'}*/  
    4. $redis->sRem('key1', 'member2'); /* 'key1' => {'member1', 'member3'} */

      sMove() 的语法是:$redis->sMove('key1','key2','value')将key1的value值移入key2中,如果不存在value则不执行任何操作,返回0,如果key2中已存在value,则只删除key1的value

      例:  

    1. $redis->sAdd('key1' , 'member11');  
    2. $redis->sAdd('key1' , 'member12');  
    3. $redis->sAdd('key1' , 'member13'); /* 'key1' => {'member11', 'member12', 'member13'}*/  
    4. $redis->sAdd('key2' , 'member21');  
    5. $redis->sAdd('key2' , 'member22'); /* 'key2' => {'member21', 'member22'}*/  
    6. $redis->sMove('key1', 'key2', 'member13'); /* 'key1' =>  {'member11', 'member12'} *//* 'key2' =>  {'member21', 'member22', 'member13'} */ 

      sIsMember()的语法是:$redis->sIsMember('key','value')判断value是否是key的元素  

    1. $redis->sIsMember('key1', 'member1'); /* TRUE */  
    2. $redis->sIsMember('key1', 'memberX'); /* FALSE */

        sMembers()的语法是:$redis->sMembers('key')获取key的所有元素

       sCard()的语法是:$redis->sCard('key')获取key的元素个数

       sPop()的语法是: $redis->sPop('key')随机移除并返回key集合的一个元素

        sInter()的语法是:$redis->sInter('key1','key2','key3'...)返回指定SETS集合的交集结果。如果只是指定了一个SET集合,那么返回该SET集合。如果在参数中有参数错误,那么则返回FLASE 

        sInterStore()的语法是:$redis->sInterStore('output','key1','key2'...)执行一个交集操作,并把结果存储到一个新的SET容器中。 

        sUnion()的语法是:$redis->sUnion('key1','key2')执行一个并集操作在N个SET容器之间,并返回结果。

        sUnionStore()的语法是:$redis->sUnionStore('output','key1','key2'...)执行一个并集操作就和sUnion()一样,但是结果储存在第一个参数中。

        sDiff()的语法是:$redis->sDiff('key1','key2') 执行差集操作在N个不同的SET容器之间,并返回结果。这个操作取得结果是第一个SET相对于其他参与计算的SET集合的差集。

        sDiffStore()的语法是:$redis->sDiffStore('output','key1','key2')此命令等同于SDIFF,但它将结果保存到destination集合,而不是简单地返回结果集

    zset(有序集合)

  • 相关阅读:
    Redhat安装配置VNC服务器
    Linux下如何强制中断一个程序的执行?
    Linux上怎么快速删除一个目录
    Linux两台服务器上互传文件
    Linux压缩解压命令
    新Linux系统配置yum源
    从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑
    [转]关于有偿提供拼图响应式后台的通知
    ASP.NET MVC post请求接收参数的三种方式
    ASP.NET MVC中获取URL地址参数的两种写法
  • 原文地址:https://www.cnblogs.com/isuben/p/7070188.html
Copyright © 2011-2022 走看看