中文在线一区二区_欧美在线综合_久久久久久综合_欧美一区二区三区视频_国产免费看_国产福利精品一区

Redis 字符串(String)

Redis 字符串數據類型的相關命令用于管理 redis 字符串值

操作方法

方法列表

方法名稱 參數 說明 備注
set $key, $val, $timeout = 0 設置一個鍵,以及設置過期時間,單位秒 $timeout值可為int(過期時間秒),可為string("NX","XX"),也可為array['NX','EX'=>10]
get $key 獲取一個鍵
getRange $key, $start, $end 返回子字符串
getSet $key, $value 返回key舊值并設置新值
getBit $key, $offset 獲取指定偏移量上的bit值
mGet $keys 獲取多個key的值(參數可為string或者數組) 在集群中,將會分開處理
setBit $key, $offset, $value 設置偏移量的bit值
setEx $key, $expireTime, $value 設置值以及過期時間(秒)
setNx $key, $value key不存在時設置 key 的值。
setRange $key, $offset, $value 設置偏移量的值
strLen $key 返回 key 所儲存的字符串值的長度
mSet $data 設置多個key的值,參數為關聯(lián)數組
mSetNx $data 當所有key不存在時,設置多個key值,參數和mSet一樣 在集群中,key將會分開處理
pSetEx $key, $expireTime, $value 同setEx,過期時間為毫秒
incr $key 自增1
incrBy $key, $value 自增$value數值
incrByFloat $key, $value 自增$value浮點值
decr $key 自減1
decrBy $key, $value 自減$value數值
appEnd $key, $value 追加字符串
scan &$cursor, $pattern=null, $count=null 迭代string鍵名 集群模式不能使用

如果開啟序列化配置,getRange,setRange,getBit,setBit,strLen,自增自減命令,append等都會失效

在集群中,批量設置,批量獲取都是拆數組一個個處理的,所以mSetNx 的特性將失效

基本使用


go(function () {
    $redis = new \EasySwoole\Redis\Redis(new \EasySwoole\Redis\Config\RedisConfig([
        'host'      => '127.0.0.1',
        'port'      => '6379',
        'auth'      => 'easyswoole',
        'serialize' => \EasySwoole\Redis\Config\RedisConfig::SERIALIZE_NONE
    ]));
    $key = 'test';
    $value = 1;
    $data = $redis->del($key);
    var_dump($data);
    $data = $redis->set($key, $value);
    var_dump($data);
    $data = $redis->set($key, $value,'XX');
    var_dump($data);
    $data = $redis->set($key, $value,'NX');
    var_dump($data);
    $data = $redis->set($key, $value,['NX','EX'=>20]);
    var_dump($data);
    $data = $redis->set($key, $value,['NX','PX'=>20000]);
    var_dump($data);

    $data = $redis->get($key);
    var_dump($data);

    $data = $redis->exists($key);
    var_dump($data);

    $data = $redis->set($key, $value);
    var_dump($data);
    $value += 1;
    $data = $redis->incr($key);
    var_dump($data);

    $value += 10;
    $data = $redis->incrBy($key, 10);
    var_dump($data);

    $value -= 1;
    $data = $redis->decr($key);
    var_dump($data);

    $value -= 10;
    $data = $redis->decrBy($key, 10);
    var_dump($data);

    $key = 'stringTest';
    $value = 'tioncico';
    $redis->set($key, $value);
    $data = $redis->getRange($key, 1, 2);
    var_dump($data);

    $data = $redis->getSet($key, $value . 'a');
    var_dump($data);
    $redis->set($key, $value);

    $bitKey = 'testBit';
    $bitValue = 10000;
    $redis->set($bitKey, $bitValue);
    $data = $redis->setBit($bitKey, 1, 0);
    var_dump($data);
    $data = $redis->getBit($key, 1);
    var_dump($data);

    $field = [
        'stringField1',
        'stringField2',
        'stringField3',
        'stringField4',
        'stringField5',
    ];
    $value = [
        1,
        2,
        3,
        4,
        5,
    ];
    $data = $redis->mSet([
        "{$field[0]}" => $value[0],
        "{$field[1]}" => $value[1],
        "{$field[2]}" => $value[2],
        "{$field[3]}" => $value[3],
        "{$field[4]}" => $value[4],
    ]);
    var_dump($data);
    $data = $redis->mGet([$field[3], $field[2], $field[1]]);
    var_dump($data);

    $data = $redis->setEx($key, 1, $value[0] . $value[0]);
    var_dump($data);
    var_dump($redis->get($key));

    $data = $redis->pSetEx($key, 1, $value[0]);
    var_dump($data);
    var_dump($redis->get($key));

    $redis->del($key);
    $data = $redis->setNx($key, 1);
    var_dump($data);

    $redis->del($field[0]);
    $data = $redis->mSetNx([
        "{$field[0]}" => $value[0],
        "{$field[1]}" => $value[1],
    ]);
    var_dump($data);
    var_dump( $redis->get($field[1]));
    $redis->del($field[1]);
    $data = $redis->mSetNx([
        "{$field[0]}" => $value[0] + 1,
        "{$field[1]}" => $value[1] + 1,
    ]);
    var_dump($data);
    var_dump($redis->get($field[0]));

    $data = $redis->setRange($field[0], 1, 1);
    var_dump($data);
    var_dump($redis->get($field[0]));

    $data = $redis->strLen($field[0]);
    var_dump($data);

    $redis->set($key, 1);
    $data = $redis->incrByFloat($key, 0.1);
    var_dump($data);
    $data = $redis->appEnd($field[0], '1');
    var_dump($data);
    var_dump($redis->get($field[0]));

    //迭代測試
    $cursor = 0;//迭代初始值0
    $redis->flushAll();
    $redis->set('xxxa', '仙士可');
    $redis->set('xxxb', '仙士可');
    $redis->set('xxxc', '仙士可');
    $redis->set('xxxd', '仙士可');
    $data = [];
    do {
        //每次迭代都會設置一次$cursor,為0代表迭代完成
        $keys = $redis->scan($cursor, 'xxx*', 1);
        $data = array_merge($data,$keys);
    } while ($cursor);
    var_dump($data);
});
主站蜘蛛池模板: 亚洲精品久久久久久一区二区 | 欧美精品在线一区 | 欧美一区不卡 | 国产综合久久 | 精品日韩 | 毛片免费毛片一级jjj毛片 | 亚洲一区二区精品在线观看 | www.av在线播放 | 国产美女啪啪 | 国产一区二区av | 久久久亚洲精品一区二区三区 | 国产一区二区三区撒尿在线 | 特及毛片 | 国产欧美日韩精品一区 | 青草青草久热精品视频在线观看 | 久久精品国产99国产 | 国产成人在线看 | 久久成人免费视频 | 国产精品一区三区 | 亚洲色视频 | 成人免费视频亚洲 | 国产精品亚洲成在人线 | 亚洲精品无码专区在线播放 | 久久久久综合狠狠综合日本高清 | 伊人久久国产 | 97高清国语自产拍 | 综合色区 | 涩涩天堂 | 亚洲国产精品99久久久久久久久 | 久久久久中文字幕 | 久久久久久久国产精品 | 男女全黄一级一级高潮免费看 | 亚洲精品久久久久999中文字幕 | 国产精品免费久久久久久久久 | 99久久久无码国产精品 | 久久99精品久久久久久久青青日本 | 伊人春色网| 美日韩一区 | 国产a区 | 天天操天天干天天爽 | 国产精品久久av |