redis慢慢写
2022-08-29 本文已影响0人
Best博客
第一次尝试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()
}
}