• PHP与REDIS


    安装

    1.一定要搞懂自己php的版本,和环境,今天试一上午,就是因为X86,而我的php环境是X64.

    2. 将下载的php_redis.dll和php_igbinary.dll放在php扩展目录中(ext),并修改配置文件php.ini

    extension=php_igbinary.dll
    extension=php_redis.dll

    3.重新启动服务

    常用操作

    <?php
    //PHP操作redis
    /*链接redis*/ 
    $redis = new redis();  
    $result = $redis->connect('127.0.0.1', 6379);  
    
    /*set 设置 key的值*/
    $result = $redis->set('key',"abc");  
    
    /*get 获取key的值*/
    $result = $redis->get('key');  
    var_dump($result);  //string 'abc' (length=3)
    
    /*delete 删除指定的key*/
    $redis->set('test',"123456");
    $redis->delete('test');    
    var_dump($redis->get('test')); //boolean false
    
    /*setnx 如果数据库中不存在key键,生成key键*/
    $redis->setnx('test2',"22222222");  
    var_dump($redis->get('test2')); //string '22222222' (length=8)
    
    /*exists 验证key是否存在*/
    var_dump($redis->exists('test2')); //boolean true
    
    /*incr 递增数据*/
    $redis->set('test',"123");  
    var_dump($redis->incr("test")); //int 124
    
    /*decr 递减数据*/
    var_dump($redis->decr("test")); //int 123
    
    /*getMultiple 给参数数组赋值*/
    $redis->set('test1',"1");  
    $redis->set('test2',"2");  
    var_dump($redis->getMultiple(array('test1','test2')));    //array (size=2) 0 => string '1' (length=1)   1 => string '2' (length=1)
    
    /*lpush 由列表头部添加字符串值。如果不存在该键则创建该列表*/
    $redis->delete('test');  
    var_dump($redis->lpush("test","111"));   //结果:int(1)  
    var_dump($redis->lpush("test","abc"));   //结果:int(2)  
    
    /*rpush 由列表尾部添加字符串值。如果不存在该键则创建该列表。*/
    var_dump($redis->rpush("test","333"));   //结果:int(3)  
    var_dump($redis->rpush("test","444"));   //结果:int(4)  
    
    /*lpop 返回和移除列表的第一个元素*/
    var_dump($redis->lpop("test")); //string 'abc' (length=3)
    
    /*lsize,llen 返回的列表的长度。如果列表不存在或为空,该命令返回0。如果该键不是列表,该命令返回FALSE。*/
    var_dump($redis->lsize("test"));  //int 3
    
    /*lget 返回指定键存储在列表中指定的元素。 0第一个元素,1第二个… -1最后一个元素,-2的倒数第二*/
    var_dump($redis->lget("test",0)); //string '111' (length=3)
    
    /*lset 为列表指定的索引赋新的值*/
    var_dump($redis->lset("test",0,"333")); //boolean true
    
    /*lgetrange 返回在该区域中的指定键列表中开始到结束存储的指定元素*/
    print_r($redis->lgetrange("test",0,-1));  // Array ( [0] => 333 [1] => 333 [2] => 444 )
    
    /*lremove 从列表中从头部开始移除count个匹配的值。 key count*/
    var_dump($redis->lremove('test','333',1)); 
    print_r($redis->lgetrange('test', 0, -1)); // Array ( [0] => 333 [1] => 444 )
    
    /*sadd 为一个Key添加一个值。如果这个值已经在这个Key中,则返回FALSE。*/
    var_dump($redis->sadd('bigtest','111'));
    var_dump($redis->sadd('bigtest','333'));
    print_r($redis->sort('bigtest')); //Array ( [0] => 111 [1] => 333 )
    
    /*sremove 删除Key中指定的value值*/
    $redis->sremove('bigtest','111');  
    print_r($redis->sort('bigtest')); //Array ( [0] => 333 )
    
    /*smove 将Key1中的value移动到Key2中*/
    $redis->delete('test');  
    $redis->delete('test1');  
    $redis->sadd('test','111');  
    $redis->sadd('test','333');  
    $redis->sadd('test1','222');  
    $redis->sadd('test1','444');  
    $redis->smove('test',"test1",'111');  
    print_r($redis->sort('test1')); //Array ( [0] => 111 [1] => 222 [2] => 444 )
    
    /*scontains 检查集合中是否存在指定的值*/
    var_dump($redis->scontains('test1', '111'));  //boolean true
    
    /*ssize 返回集合中存储值的数量*/
    echo $redis->ssize('test1');   //3
    
    /*spop 随机移除并返回key中的一个值*/
    var_dump($redis->spop("test1")); 
    
    /*sinter 返回一个所有指定键的交集。*/
    var_dump($redis->sinter("test","test1")); //empty
    
    /*sinterstore 把结果储存到新建的变量中*/
    var_dump($redis->sinterstore('new',"test","test1")); 
    
    /*sunion 返回一个所有指定键的并集*/
    print_r($redis->sunion("test","test1")); 
    
    /*sunionstore 把结果储存到新建的变量中*/
    var_dump($redis->sunionstore('new',"test","test1"));  //int 3
    
    /*sdiff 返回第一个集合中存在并在其他所有集合中不存在的结果*/
    print_r($redis->sdiff("test","test1")); //Array ( [0] => 333 )
    
    /*sdiffstore 执行sdiff命令并把结果储存到新建的变量中*/
    var_dump($redis->sdiffstore('new',"test","test1")); //int 1
    
    /*smembers, sgetmembers 返回集合的内容*/
    print_r($redis->smembers('test1')); //Array ( [0] => 111 [1] => 444 )
    
    ?>
    
     
    

      

  • 相关阅读:
    jm8.6编解码器概述
    mingw32环境下链接库找不到问题
    ts流中的pcr与pts计算与逆运算
    基于医疗知识图谱的问答系统(二)
    Neo4j图数据库导入数据
    基于医疗知识图谱的问答系统(一)
    知识图谱和neo4j的基本操作
    从.NET转GO了
    Flask开发技巧之参数校验
    如何在PPT中插入Pyecharts的图表?
  • 原文地址:https://www.cnblogs.com/peiyu1988/p/6708648.html
Copyright © 2020-2023  润新知