利用swoole coroutine协程实现redis异步操作

<?php
#注意:可能会遇到这样的现象,用swoole协程的方法访问常规方法添加到redis中的数据,可能访问不到(直接返回NULL)!
这可能是两者采用了
不同的技术标准所致!项目中要统一标准
go(function (){
    $redis = new Swoole\Coroutine\Redis();
    $redis->connect('127.0.0.1', 6379);
    $val = $redis->set('陈培昌',json_encode(['age'=>21,'expertin'=>['泰拳','巴西柔术']]));#同样是hmset,常规方法第2个参数是混合类型
var_dump($val); }); go(function (){ $redis = new Swoole\Coroutine\Redis(); 
$redis
->connect('127.0.0.1', 6379);
$val
= $redis->get('陈培昌');
var_dump(json_decode($val)); });

打印结果:

object(stdClass)#8 (2) {
["age"]=>
int(21)
["expertin"]=>
array(2) {
[0]=>
string(6) "泰拳"
[1]=>
string(12) "巴西柔术"
}
}
bool(true)

 

#常规方法

/*把货单项目名称键名加载到redis*/

$li = new mysqli('localhost','root','wenwajiao','taizhouwu');
$sql = "select title,colname from columninfo";
$stmt=$li->query($sql);
$liaogaximaxida = $stmt->fetch_all();
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
for ($i=0;$i<count($liaogaximaxida);$i++)
{
    $saiwa = $liaogaximaxida[$i];
    $redis->hMSet($saiwa[0],['mykey'=>$saiwa[1]]);#同样是hmset,常规方法第2个参数是数组类型
}
;

 

转载于:https://www.cnblogs.com/saintdingspage/p/11149023.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值