-
第三个阶段
查看全部 -
第二阶段架构
查看全部 -
第一阶段结构
查看全部 -
为什么要学习Redis中的Lua的使用
查看全部 -
视频中的代码。
--- --- Generated by EmmyLua(https://github.com/EmmyLua) --- DateTime: 2019/10/2 22:18 --- local KEYS = { "list" } local ARGV = { "N", 4, -1 } local list = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } function slice(list_key, argv_list) -- 判断是否需要反转 local reverse_flag = #argv_list >= 3 and type(ARGV[3]) == "number" and ARGV[3] < 0 local start = 1 if type(ARGV[1]) == "number" then start = ARGV[1] end local end_ = #list if type(ARGV[2]) == "number" then end_ = ARGV[2] end local step = 1 if #argv_list >= 3 and type(ARGV[3]) == "number" then step = ARGV[3] end --存储分片结果 local result = {} --添加分片结果时使用的索引 local result_index = 1 print("start: " .. start .. " end_: " .. end_ .. " step:" .. step) local for_start = start local for_end = end_ if reverse_flag then for_start = #list for_end = for_end + 1 else for_end = for_end - 1 end print("for_start: " .. for_start .. " for_end: " .. for_end .. " step:" .. step) for var = for_start, for_end, step do result[result_index] = list[var] result_index = result_index + 1 end return result end local result_list = slice(KEYS, ARGV) for i, v in pairs(result_list) do print(i .. "-->" .. v) end
查看全部 -
redis-cli
KEYS *
EVAL "redis.call('SET','TestImooc','test')" 0
GET TestImooc
EVAL "return redis.call('SET','TestImooc','test1')" 0
GET TestImooc
EVAL "return redis.call('SET','Test)"
查看全部 -
lua中循环写法:
start=7
end_=8
step=1
for var =start,end_,step do
print(var)
end
查看全部 -
redis中使用lua脚本命令:
script load
script flush
script exists
查看全部 -
redis.call()
redis.pcall()
区别pcall会捕捉异常!
查看全部 -
redis中用命令调用lua:
EVAL "redis.call('SET','testImooc','test')" 0
get testImooc
'test'
127.0.0.1:6379> EVAL "return redis.call('SET',KEYS[2],ARGV[3])" 3 imooc1 imooc2 imooc3 imooc4 imooc5 imooc6 imooc7
OK
127.0.0.1:6379> get imooc2
"imooc6"
查看全部
举报
0/150
提交
取消