#linux #rust #redis #rust-cargo #redisjson
Вопрос:
Выполнив указанные здесь инструкции по компиляции исходного кода RedisJson, получил rejson.so файл в project_root/target/release, затем я ввел эту команду sudo redis-сервер —loadmodule /главная/имя пользователя/RedisJSON/цель/релиз/rejson.так что для загрузки модуля redis. Но я получил это сообщение об ошибке.
Server initialized
7666:M 14 Sep 2021 13:27:38.795 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
7666:M 14 Sep 2021 13:27:38.795 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
7666:M 14 Sep 2021 13:27:38.862 * <ReJSON> Exported RedisJSON_V1 API
thread '<unnamed>' panicked at 'called `Option::unwrap()` on a `None` value', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/redis-module-0.23.0/src/raw.rs:580:42
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
Aborted
Как я могу это исправить, пожалуйста?
Комментарии:
1. Похоже, та же проблема, что и с #175 (хотя это бесполезно, учитывая, что на нее не было никакого ответа); в обоих случаях отсутствует привязка к
RedisModule_ExportSharedAPI
функции.
Ответ №1:
Для RedisJSON требуется Redis 6 , похоже, что вы используете более старую версию Redis.