easyswoole - 基于swoole扩展实现的一款高性能php框架

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的值,參數為關聯數組
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);
});
主站蜘蛛池模板: 真空电镀机_镀膜机厂家_离子镀膜机_磁控溅射镀膜设备_镀钛设备-江苏驰诚科技发展有限公司 | 网架厂_网架加工厂家_徐州网架公司报价--三华网架制造商 | 江阴月子会所-江阴月子中心-江阴坐月子、月子护理哪家好-乐茵月子中心 | 凝汽器换管-胶球清洗装置-二次滤网_连灵动 | 吉安仁济医院「官网」吉安男科医院-吉安仁济男科医院靠谱吗-男性专科医院 | 气泡膜机_气垫膜机_缠绕膜机_瑞安市优特机械厂 | 南京包装设计公司|南京手提袋制作|彩页印刷|礼品盒设计 | 制砂机_制沙一体机_青石制沙机-华盛铭设备厂家 | 爬架网@建筑爬架网@冲孔建筑爬架网片@工地冲孔建筑爬架网片@工地冲孔建筑爬架网片厂家@工地冲孔建筑爬架网片生产厂家-安平县诺德金属制品有限公司 | 永磁变频空压机-无油空压机-螺杆式空压机热能回收-空压机配套-空压机合同能源管理-维修保养-北京斯特兰压缩机有限公司 | 山东正奇塑料机械有限公司,山东塑料机械,水带机组,塑料管材机,山东吹膜机组厂家,山东农膜机厂家 山东长青石油液压机械有限公司-致力于石油机械设备的研发制造,提供定制服务 | 实验升降炉-箱式管式炉- 台车真空炉-熔块旋转炉-推板隧道窑-洛阳鲁威窑炉有限公司 | 面粉加工设备-面粉加工机械-面粉机组-面粉磨粉机-面粉机成套设备-河南粮院机械制造有限公司 | 长沙联合产权交易所有限公司 | 长沙市富巴机电设备有限公司-长期销售施能,霍尼韦尔,霍科德,意莱克斯,台仪,泛达 | 全功能护理训练模拟人-创伤护理人-高级电脑心肺复苏模型-上海康季 | 太原石膏基自流平,太原轻质抹灰石膏,太原腻子粉,太原抗裂砂浆-太原乔贝建筑材料有限公司 | 粘土耐火砖,低气孔耐火砖-山东耐火材料| 深圳市金正电器有限公司 | 深圳沃亚游学官网丨国外游学丨国际夏冬令营丨美国游学线路丨出国短期游学丨亲子海外游丨游学咨询: 0755-83843308 | 西门子伺服电机维修_西门子变频器维修_西门子伺服驱动器维修_数控系统维修_PL维修-上海仰光电子 西克制冷官网│制冷机组冷风机冷库设备厂家-西克制冷(无锡)有限公司_西克制冷(无锡)有限公司 | 长沙设计公司丨品牌策划设计服务丨画册设计-石青|长沙画册设计 | 洗地机,洗地机价格,扫地机,工业吸尘器,手推式洗地机,驾驶式洗地机,北京洗地机【北京高美环保科技有限公司】 | 四川蜀易控科技有限公司-酒店客房控制系统-智慧酒店智能化客房控制系统生产厂家 | 商易网-b2b电子商务平台网站大全免费B2B发布供求信息网站 | 深圳物流公司_深圳物流_深圳物流专线-旺通达物流 | 上海国际餐饮博览会|餐饮供应|餐饮服务|餐饮加盟 | 碳化钨涂层_碳化钨喷涂_碳化钨焊条_碳化钨合金块-北京耐默 | 湖南长沙癫痫病医院_湖南癫痫病专科医院_湖南治疗癫痫病专业医院_长沙和谐医院有限公司 | 铸铁平台-焊接平台-划线平台-三维焊接平台厂家-泊头市溪海冶金机械设备有限公司 | 兰州环氧地坪,兰州防火涂料-甘肃皓天环氧地坪工程 | 重庆风机_风阀_风口-重庆仁龙风机有限公司 | 手板机箱_亚克力机箱_医疗机箱_美容机箱_医疗设备外壳厂家_鸿堪医疗器械有限公司 | 卓尚服饰(杭州)有限公司邮箱| 湖南净声源环保科技有限公司是一家专业从事噪声治理和建筑声学设计生态环境综合治理服务的企业,专业从事株洲电梯隔音治理,湘潭中央空调降噪处理,衡阳邵阳冷却塔噪音治理,岳阳常德大型风机噪声隔音降噪,张家界空压机噪声治理,益阳配电房变压器噪声治理,专业郴州永州工厂企业车间噪声治理,怀化娄底专业机械设备减振降治理,武汉噪音治理隔音降噪公司,孝感噪音治理,立式球磨机的噪声控制,专业隔音降噪公司,、以及各类机械动力设备减振降噪噪声治理的公司,同时为客户提供咨询与解决方案 | 烟台真空包装,烟台木包装,烟台熏蒸木箱-烟台福岭木制品有限公司 烟台通风管道,烟台风机风管,烟台风阀-烟台福莱通风设备有限公司 | 买化工,找万创!泉州万创化工贸易有限公司 | 液化气密度测定仪,原油有机氯测定仪-泰州市姜堰分析仪器厂 | 太原铁艺围栏-山西泓宸辉铁艺工程有限公司 | 拉力试验机|电子万能试验机|液压万能试验机|摩擦磨损试验机|济南试验机厂家-济南思达测试技术有限公司 | 智能灰熔融性测试仪,微机自动定硫仪,快速自动测硫仪-鹤壁市恒科仪器仪表有限公司 |