php redis 批量读取,PHP redis 批量操作

标签:

参考网站

phpredis扩展 :https://github.com/phpredis/phpredis#pconnect-popen

命令参考:http://doc.redisfans.com  redis

redis 操作异常总结

1.获取的key存在,使用了错误的方法,如:string 用hashes的方法,返回false。

2.获取不存在的key false。

3.设置不存在的key,写入值,返回1,如果存在替换,返回0。使用hSetNx类型的函数,存在返回false不设置值,反之true设置值。

redis 批量测试

// 批量

$redis = new \Redis();

$redis->pconnect(‘127.0.0.1‘);

$redis->auth(‘111111‘);

$ts = microtime(true);

var_dump($ts);

$redis->multi();

for ($i=0; $i < 1000; $i++) {

$redis->set(‘key1‘, ‘val1‘);

$redis->get(‘key1‘);

$redis->del(‘key1‘);

}

$redis->exec();

$df = microtime(true) - $ts;

var_dump($df);

// var_dump($ret);

// die;

// 单个

$redis = new \Think\Cache\Driver\Redis();

$ts = microtime(true);

var_dump($ts);

for ($i=0; $i < 1000; $i++) {

$redis->set(‘key1‘, ‘val1‘);

$redis->get(‘key1‘);

$redis->del(‘key1‘);

}

$df = microtime(true) - $ts;

var_dump($df);

die;

结果 批量: float(1.11732006073) 单个: float(1.2670619487762) 可以在phpredis扩展使用中看出批量和单个并没有太大时间上的

差别和http://my.oschina.net/u/2273085/blog/419920,此网友结论相差很大,也许是PHP自身的问题,不得而知。

redis 操作常规返回情况

// redis 获取key类型错误返回false

$keyString = ‘13999999999‘;

$keyHash = ‘ThumbnailServerList‘;

$redisCache = new \Think\Cache\Driver\Redis();

$return = $redisCache->hGetAll($keyString, $value);

var_dump($return);

$return = $redisCache->hGetAll($keyHash, $value);

var_dump($return);

$return = $redisCache->get($keyString, $value);

var_dump($return);

$return = $redisCache->get($keyHash, $value);

var_dump($return);

die;

结果:bool(false) bool(false) string(43) "9c8d83f5890611e45538a744eb1b036b156790b7533" bool(false) 获取类型错误返回false,不存在也是false。

标签:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值