欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP+Redis的入门操作

<?php
//    echo phpinfo();
    $redis=new Redis();
    $redis->connect('127.0.0.1','6379');
//    $redis->set('b','456');
//    echo $redis->get('a');
//    $redis->hMset('user:1',array('username'=>'hr','age'=>23,'address'=>'湖州'));
//    $ret=$redis->hGetAll('user:1');
//    var_dump($ret);
##key
    ////echo"<br>";
//    $redis->lPush('list_test','123');
//    $redis->lPush('list_test','456');
//    $redis->lPush('list_test','789');
//    echo $redis->lPop('list_test');
//    echo $redis->lPop('list_test');
//    echo $redis->lPop('list_test');
//echo"<br>";
//    ////    $redis->rPush('list_test','123');
//    $redis->rPush('list_test','456');
//    $redis->rPush('list_test','789');
//    echo $redis->lPop('list_test');
//    echo $redis->lPop('list_test');
//    echo $redis->lPop('list_test');
//    //无序集合
//echo"<br>";
//    echo $redis->sAdd('data','1');
//    echo $redis->sAdd('data','2');
//    echo $redis->sAdd('data','3');
//echo"<br>";
//    var_dump($redis->sMembers('data'));
//    //有序集合
//echo"<br>";
//    echo $redis->zAdd('z_set',97,'hr');
//    echo $redis->zAdd('z_set',95.5,'tt');
//    echo $redis->zAdd('z_set',100,'sg');
//echo"<br>";
//    var_dump($redis->zRangeByScore('z_set',0,100));
    //删除
//    echo $redis->del('z_set');
    //序列化
//    echo $redis->dump('data');
//    var_dump($redis->sMembers('data'));
    //设置过期时间
//    echo $redis->expire('data',10);
    ////    $redis->hMset('user:1',array('id'=>1,'name'=>'name1'));
//    $redis->hMset('user:2',array('id'=>2,'name'=>'name2'));
//    $redis->hMset('user:3',array('id'=>3,'name'=>'name3'));
//    var_dump($redis->keys('user*'));
    //放回过期时间
//    echo $redis->ttl('data');
    //从当前的数据库随机放回一个key
//    echo $redis->randomKey();
    //放回当前key所存储的数据类型(01,2,3,4,5,0为不存在5种类型
//    $redis->set('int',1111);
//    echo $redis->type('data');




##string
    //返回对应key的子字符
//    $redis->set('key','123456789');
//    echo $redis->getRange('key',2,6);//34567
//    $redis->del('key');

    //设置key值并返回旧的value
//    $redis->set('key','123456789');
//    echo $redis->getSet('key','987654321');//123456789
//    echo $redis->get('key');//987654321
//    $redis->del('key');

    //获取一个或多个给定的key//    $redis->set('k1','11');
//    $redis->set('k2','22');
//    $redis->set('k3','33');
//    var_dump($redis->mget(array('k1','k2','k3')));
//    $redis->del('k1');
//    $redis->del('k2');
//    $redis->del('k3');

    //对指定的key偏移(不知道有什么用)
//    $redis->set('k','123456');
//    $redis->getBit('k',1);
//    echo $redis->get('k');

    //设置keyvalue值,并设置过期时间
//    $redis->set('k','123');
//    $redis->setex('k',10,'456');
//    echo $redis->get('k');
//    $redis->del('k');

    //只有key不存在的时候设置值
//    $redis->setnx('k','123456');
//    echo $redis->get('k');

    //同时设置一个或多个key-val键值对
//    $redis->mset(array('k1'=>1,'k2'=>2,'k3'=>3));
//    var_dump($redis->mget(array('k1','k2','k3')));
    //同时设置一个或多个key-val键值对,且对应的key值不存在
//    $redis->msetnx(array('k1'=>1111,'k2'=>2222,'k3'=>3333));
//    var_dump($redis->mget(array('k1','k2','k3')));

    //将制定的key+1(只对数值有效)
//    $redis->set('k','a123456');
//    echo $redis->get('k')."<br>";
//    $redis->incr('k');
//    echo $redis->get('k');

    //指定的key值加上一定的数值
//    $redis->set('k','123');
//    echo $redis->get('k');
//    $redis->incrBy('k','321');
//    echo $redis->get('k');

    //指定的key值加上浮点值
//    $redis->set('k','123');
//    echo $redis->get('k');
//    $redis->incrByFloat('k','10.58');
//    echo $redis->get('k');

    //置顶的数值减一
//    $redis->set('k','10');
//    echo $redis->get('k');
//    $redis->decr('k');
//    echo $redis->get('k');

    //指定的key值减指定的数值
//    $redis->set('k','100');
//    echo $redis->get('k');
//    $redis->decrBy('k',10);
//    echo $redis->get('k');

    //追加指定的key到尾部
//    $redis->set('k','123');
//    echo $redis->get('k');
//    $redis->append('k','456798');
//    echo $redis->get('k');


##哈希类型
    //设置哈希获取哈希字段或则哈希全部字段
//    $redis->hMset('haxi',array('id'=>1,'name'=>'hr','age'=>'23'));
//    var_dump($redis->hGetAll('haxi'));//array('id'=>1,'name'=>'hr','age'=>'23')
//    var_dump($redis->hGet('haxi','name'));//hr

    //删除一个或多个哈希表字段
//    $redis->hDel('haxi','age');//array('id'=>1,'name'=>'hr')

    //为哈希表 key 中的指定字段的整数值加上增量 increment //    $redis->hIncrBy('haxi','id',10);//array('id'=>11,'name'=>'hr','age'=>'23')
//    var_dump($redis->hGetAll('haxi'));

    //为哈希表 key 中的指定字段的整数值加上增量 float //    $redis->hIncrByFloat('haxi','id',-1.999);//array('id'=>9.000999999999999,'name'=>'hr','age'=>'23')
//    var_dump($redis->hGetAll('haxi'));

    //获取哈希表中的所有key
//    var_dump($redis->hKeys('haxi'));//array (size=2)0 => string 'id' (length=2)1 => string 'name' (length=4)

    //获取哈希表字段的数量
//    var_dump($redis->hLen('haxi'));//int 2

    //获取所有给定的字段值
//    var_dump($redis->hMGet('haxi',array('id','name')));//array('id'=>9.000999999999999,'name'=>'hr')

    //同时将多个键值对设置到哈希表key//    $redis->hMset('haxi',array('id'=>1,'name'=>'whr'));
//    var_dump($redis->hGetAll('haxi'));///array('id'=>1,'name'=>'whr')

    //键值对设置
//    $redis->hSet('haxi','name','hr');
//    var_dump($redis->hGetAll('haxi'));//array('id'=>1,'name'=>'hr')

    //key不存在的时候加上!
//    $redis->hSetNx('haxi','name','whr');
//    var_dump($redis->hGetAll('haxi'));//array('id'=>1,'name'=>'hr')
//    $redis->hSetNx('haxi','age','23');
//    var_dump(($redis->hGetAll('haxi')));//array('id'=>1,'name'=>'hr','age'=>'23')

    //获取哈希表中所有的key//    var_dump($redis->hVals('haxi'));//array('1','hr','23');

##列表list
    //在开头插入一个值
//    $redis->lPush('list_test','1');
//    $redis->lPush('list_test','2');
//    $redis->lPush('list_test','3');
//    echo $redis->lPop('list_test');//3
//    echo $redis->lPop('list_test');//2
//    echo $redis->lPop('list_test');//1

    //弹出第一个值,没有值阻塞,至过时或有值(不知道怎么用)
//    echo $redis->blPop(array('test'));

    //列表弹出一个值,插入到另一个列表里面
//    echo $redis->brpoplpush('list_test','test_list',10);
//    echo $redis->brpoplpush('test_list','list_test',10);

    //根据索引获取值
//    echo $redis->lIndex('list_test',2);

    //在列表元素前面后面插入元素
//    $redis->lInsert('list_test','before',4,5);
//    echo $redis->lIndex('list_test',2);

    //获取列表长度
//    echo $redis->lLen('list_test');

    //弹出列表第一个元素
//    echo $redis->lPop('list_test');
//    echo $redis->lPush('list_test',1);
//    echo $redis->lLen('list_test');

    //一个或多个插入(已存在)的列表头部
//    echo $redis->lLen('list_test');
//    echo $redis->lPushx('list_test',11);

    //获取范围内的列表
//    var_dump($redis->lRange('list_test',0,10));//0-10

    //移除列表元素
//    echo $redis->lRem('list_test','1',1);//返回被移除的该元素数量

    //通过索引设置元素的值
//    echo $redis->lIndex('list_test',0);
//    echo $redis->lSet('list_test',0,5);

    //对列表进行修建
//    echo $redis->lTrim('list_test',0,0);
//    echo $redis->lLen('list_test');

##集合
    //集合添加成员
//    echo $redis->sAdd('sets','111');//添加
//    echo $redis->sAdd('sets','222');//添加
//    echo $redis->sCard('sets');//获取长度

    //获取集合的差集
//    echo $redis->sAdd('sset',111);
//    var_dump($redis->sDiff('sets','sset'));//0 => string '222' (length=3)

    //返回差集,保存到第三个集合里
//    $redis->sDiffStore('set_test','sets','sset');
//    var_dump($redis->sMembers('set_test'));

    //判断元素是都是集合里的成员
//    echo $redis->sIsMember('sets',111);

    //2集合里移动元素
//    echo $redis->sMove('sets','sset','111');
//    var_dump($redis->sMembers('sets'));
//    var_dump($redis->sMembers('sset'));

    //集合里随机移除一个元素
//    echo $redis->sPop('sset');
//    var_dump($redis->sMembers('sset'));

    //返回集合里随机一个或多个值
//    $redis->sAdd('sset',222);
//    $redis->sAdd('sset',333);
//    $redis->sAdd('sset',444);
//    $redis->sAdd('sset',555);
//    var_dump($redis->sMembers('sset'));
//    var_dump($redis->sRandMember('sset'));

    //移除一个或多个成员
//    $redis->sRem('sset','111','222');
//    var_dump($redis->sMembers('sset'));//array('333','444','555');

    //返回给定集合的并集
//    $redis->sAdd('sets','111');
//    $redis->sAdd('sets','666');
//    var_dump($redis->sUnion('sset','sets'));

    //返回集合并集,并保存在指定的集合中
//    $redis->sUnionStore('set_test','sset','sets');
//    var_dump($redis->sMembers('set_test'));

##有序集合
    //向有序集合添加一个或多个成员,或者更新已存在成员的分数
//    echo $redis->zAdd('zset',101,'hr');
//    echo $redis->zCard('zset');//获取成员数

    //计算在有序集合中指定区间分数的成员数
//    var_dump($redis->zCount('zset',0,100));

    //有序集合,指定成员的分数增加
//    var_dump($redis->zRange('zset',0,$redis->zCard('zset')));
//    echo $redis->zIncrBy('zset',10.5,'hr');

    //通过分数返回区间
//    var_dump($redis->zRangeByScore('zset','-inf','+inf',array('withscores'=>1)));//升序,zRevRangeByScore降序


    //返回指定的成员索引
//    echo $redis->zRank('zset','hr');//2

    //移除有序集合成员
//    echo $redis->zRem('zset','0');
//    var_dump($redis->zRange('zset',0,$redis->zCard('zset')));

    //返回有序集合通过索引从高到底
//    var_dump($redis->zRevRange('zset',1,1,'withscores'));那索引区域分数排序
//    var_dump($redis->zRevRangeByScore('zset','+inf','-inf',array('withscores'=>1)));

    //返回指定成员的分数值
//    echo$redis->zScore('zset','whr');

#TODO
    //迭代
//    $ret=$redis->zScan('zset','hr');
//    var_dump($redis);
?>
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_22858601/article/details/54020816

来自  https://blog.csdn.net/qq_22858601/article/details/54020816

普通分类: