首页 > 其他 > 详细

Redis执行Lua脚本的情况

时间:2015-03-27 12:20:34      阅读:194      评论:0      收藏:0      [点我收藏+]

第一个测试:

往Redis里面存入1000个Hash,每个Hash里面有100个元素(Key 0-99,值是Key^2)。

PHP代码,执行3s+ ~ 4s+

<?php

$redis = new Redis();
$redis->connect(‘127.0.0.1‘, 6379);
$redis->select(1);
for ($a = 0; $a < 1000; $a++)
{
    for ($b = 0; $b < 100; $b ++)
        $redis->hSet($a, $b, $b*$b);
}

Lua脚本执行非常快,几乎是1s内完成的

local a = 0
while(a < 1000)
do
    local b = 0
    while(b < 100)
    do
        redis.call(hset, a, b, b*b)
        b =b+ 1
    end

    a=a+1
end

本测试Lua胜出的原因,可能在于redis.call这里,是因为进程内调用(无网络IO)使得速度非常快吧。【我猜测的,不要信以为真】

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Redis执行Lua脚本的情况

原文:http://www.cnblogs.com/healerkx/p/4371257.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!