在redis使用lua的一些情况记录

  1. 在lua里面获取多次redis的hash数据,
    local a = redis.call('hget','test','a');
    local b = redis.call('hget','test','b');
    local c = redis.call('hget','test','c');
    local d = redis.call('hget','test','d');

    可以写成如下代码,减少访问redis的次数,提高效率

    local testlist= redis.call('HMGET','test','a','b','c','d');
    local a = testlist[1];
    local b = testlist[2];
    local c = testlist[3];
    local d = testlist[4];
    

    测试之后发现:

    同样执行10000次操作,使用hget 用时 6.27秒,用hmget 用时 1.28秒。

  2. 在lua 里面切换 redis的DB

    redis.call('select',   1);
    print(redis.call('get','aaa'));

    其中1表示 DB1,当这个值超过了redis 当前现有的DB数量的时候,会报错,可以试试


  3. redis 在 切换DB的时候,不同的连接是安全的,即 连接A切换到DB1的时候,连接B在不进行任何操作的情况下,还是指向DB0


  4. 未完待续。。。

你可能感兴趣的:(redis,lua)