[REDIS] 레디 스 루아 스크립트에서 함수를 여러 번 호출 질수
REDIS레디 스 루아 스크립트에서 함수를 여러 번 호출 질수
나는 레디 스 루아 스크립트 내부의 기능을 가지고있다. 모든 것이 원활하게 실행하면 나는 함수를 호출합니다. " ','도착 예정 '$'ERR 프로토콜 오류"나는 함수를 여러 번 호출하지만 오류가 발생합니다
var doesExist6 = db.ScriptEvaluate(@" local userName = KEYS[1]
local function mysplit(inputstr, sep)
if sep == nil then
sep = '%s'
end
local t={}
local i=1
for str in string.gmatch(inputstr, '([^'..sep..']+)') do
t[i] = str
i = i + 1
end
return t
end
local abc = {}
abc = mysplit(userName, ':')
for k = 1, #abc, 1
do
print (abc[k])
end
local xyz = {}
xyz = mysplit(userName, ':')
for k = 1, #xyz, 1
do
print (xyz[k])
end
return xyz[1]..abc[2]",
new RedisKey[] { "UserDetails:" + "DummyUser" });
나는 테이블을 채우기 위해 한 번만) 함수 mysplit를 (호출 할 경우 'ABC'다음 모든 실행이 원활하지만 난 그게 "ERR 프로토콜 오류 오류가 발생합니다 XYZ 테이블을 채 웁니다) (두 번째 함수 mysplit를 호출하는 경우 : 예상 '$' " ''얻었다.
가능한 이유는 무엇을 할 수 있을까? 그것은 레디 스 루아 스크립트 내부 기능을 허용하지 않는가요?
해결법
from https://stackoverflow.com/questions/35335197/cant-call-a-function-multiple-times-in-redis-lua-script by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 레디 스 복제 설정 (0) | 2020.01.08 |
---|---|
[REDIS] 레디 스에서 푸른 캐시 / DataCache 스타일의 지역 (0) | 2020.01.08 |
[REDIS] 어떻게 gRPC에서 서버에서 클라이언트로 방송하는? (0) | 2020.01.08 |
[REDIS] 셀러리 오류 : result.get은 시간 초과 (0) | 2020.01.08 |
[REDIS] 루아 스크립트는 레디 스 HGETALL 통화에서 효율적인 사전을 반환 (0) | 2020.01.08 |