こんにちは、tdzzの初投稿です。
エラーの例
127.0.0.1:3031[10]> hrandfield text withvalues
(error) ERR value is not an integer or out of range
解決策
redisの公式サイトを参照すると...
HRANDFIELD key [count [WITHVALUES]]
構文はこう使うべき。
つまり、withvaluesオプションを使うには、countを指定しなければなりません。
127.0.0.1:3031[10]> hrandfield text 1 withvalues
1) "19485"
2) "some text"
こうしたら、ちゃんと動いてますね。
[ ]とは、オプショナルの意味ですね。[ ]の入れ子構造で、内の子を利用するには、外の子が必要です。countを指定しないと、"withvalues"がcountの値と認識されました。countの値に整数が必要なので、エラーが発生しました。
追記
ちなみに、HRANDFIELDはredis 6.2に新しく導入されたコマンドです。私の場合、aptリポジトリ内のredis-serverバージョンが古い(6.0)。公式サイトでインストール方法を調べましょう。