Wprowadzenie "modułów" sprawiło, że było to o wiele bardziej istotne; ten interfejs API istnieje już w Execute(...)
. Zobacz: http://blog.marcgravell.com/2017/04/stackexchangeredis-and-redis-40-modules.html
Poprzednio:
Obecnie nie, i byłbym wątpliwe korzyści. W szczególności zrobienie tego nie pozwoliłoby na poprawne wyznaczanie trasy w przypadku zaszyfrowanych instancji (twemproxy, redis-cluster itp.), Nie pozwalałoby na zmianę nazwy używanego polecenia mapowania i nie pozwalałoby na użycie kluczy/wartości binarnych. Pozwoliłoby to również bardzo ryzykowne i koncepcja łamanie poleceń być stosowane niewłaściwie, takie jak select
, watch
/multi
/exec
, blokowanie pop brpop
/blpop
/brpoplpush
- wszystko, co byłoby katastrofalne dla multipleksera (dobrze, select
ISN” t biggie, ponieważ może być skonfigurowany tak, że Send
pozostawia niezdefiniowany db - kod dla tego już istnieje dzięki kilku podobnym przykładom). Ujawniłoby to również niebezpieczne polecenia, które powinny być nigdy nie muszą być używane z ogólnej biblioteki: debug segfault
, client pause
, itd. - znowu, wszystkie bardzo złe pomysły.
Ale pamiętaj, teoretycznie można zrobić ... ale chciałbym naprawdę chcą zobaczyć dobry powód, by zrównoważyć wiele problemów powyżej.
W tej chwili najbardziej wyeksponowanym sposobem wykonywania poleceń ad-hoc jest ScriptEvaluate
- wymagałoby to oczywiście napisania Lua.
Powiem tylko, że teraz to się zmieniło i jest na to API. Zobacz zaktualizowaną odpowiedź. –