fakedredisで「hmset」を使えない場合の解決策
auです。
Pythonのライブラリ「fakeredis」を使ってRedisのテストをしています。その際に、hmsetが使えないと言うエラーが起きたため、解決策を描こうと思います。
実際に出たエラーを載せようと思ったのですが、なぜか再現ができませんでした。hmsetは使えないけどhsetなら使えるよ!みたいな文でした。
解決策
hmsetは、hsetをまとめて行う動作です。行数は多くなりますが、hsetに分解することで解決しました。
redis.hmset(key, {id: 1, name: 'au', age: 21})
redis.hset(key, id, 1) redis.hset(key, name, 'au') redis.hset(key, age, 21)
この2つは同じ動作をしています。
テスト用のRedisの空間を作れるのが一番だと思うのですが、やり方がいまいち分からなかった・・・。dockerを使っている関係か、同じRedisのコンテナが立ち上がってしまう。DBの番号を変えるだけでもいいかと思いましたが、将来を考えるとそれもあまりやりたくないと思いました。fakeredisにhmsetが追加されないかなあ。