redis慢慢写

第一次尝试lua


//lua里面去判断redis的list里面对 输入的arr   哪些是存在的
func BenchmarkBigListMemberExist(b *testing.B) {
    for i := 0; i < b.N; i++ {

        sc := `local unread_list={};//局部申明变量
local return_arr={};
local t= redis.call('LRANGE',KEYS[1],0,-1)
for kk, vv in ipairs(t) do
    unread_list[vv]=1//将redis的list里面的元素转成 map这种,后面好判断是否存在
end

    for i = 0, #ARGV do
        if ARGV[i] ~= nil and unread_list[ARGV[i]] ~= nil and  unread_list[ARGV[i]]>0 then
            table.insert(return_arr,ARGV[i])   
        end
   end
   return return_arr
`
        args := []interface{}{221, 1, 123123}
        _, _ = rds.Eval(context2.Background(), sc, []string{"hhh"}, args...).Result()

    }
}


你可能感兴趣的:(redis慢慢写)