ハッシュマップ全体をプルして更新せずに、redisハッシュマップのセットを更新できますか?

ssh.to.2501

次のようなハッシュマップがあるとしましょう。

{'dog': {'A': set([1,2,3]), 'B': set([1,2,3])},
 'cat': {'A': set([1,2,3]), 'B': set([1,2,3])}
 ....
}

そしてしばらくして、結果のハッシュマップが次のようになるように[2,5,8]追加したいと思いますdog->B

{'dog': {'A': set([1,2,3]), 'B': set([1,2,3,5,8])},
 'cat': {'A': set([1,2,3]), 'B': set([1,2,3])}
 ....
}

これは、ハッシュマップ全体をプルして更新しなくても可能ですか?

残念ながら、このようなことを行うと、値が完全に置き換えられるだけです。

conn = redis.Redis('localhost')
dict = {'A': set([1,2,3]), 'B': set([4,5,6])}
conn.hmset('Cats', dict)
print(conn.hgetall('Cats'))
dict = {'A': set([4,3,5]), 'B': set([1,2,3])}
conn.hmset('Cats', dict)
print(conn.hgetall('Cats'))

output:
{b'A': b'{1, 2, 3}', b'B': b'{4, 5, 6}'}
{b'A': b'{3, 4, 5}', b'B': b'{1, 2, 3}'}

conn.saddハッシュマップとセットに入るのに使用できるものはありますか?今のところ、これを回避する方法は、動物と動物のハッシュマップ内のキーの両方を含むキーを作成することです。

conn.sadd('{}-{}'.format('Cat', 'A'), entry['Pet'])
デーモン24

現在、ハッシュフィールドに追加/削除するコマンドはありません。値を読み取り、新しい値に更新して、再度設定する必要があります。

conn = redis.Redis('localhost')
dict = {'A': set([1,2,3]), 'B': set([4,5,6])}
conn.hmset('Cats', dict)
print(conn.hgetall('Cats'))

ここで、[7,8,9]をCats> Bに追加する場合は、

b = set(eval(hmget('Cats', 'B')))
b = b.union(set([7,8,9]))
conn.hset('Cats', {'B': b})
print(conn.hgetall('Cats'))

出力:

{b'A': b'{1, 2, 3}', b'B': b'{4, 5, 6}'}
{b'A': b'{1, 2, 3}', b'B': b'{4, 5, 6, 7, 8, 9}'}

別の方法は、以下のように、redisキーにハッシュフィールドを含めることで、redisセットを使用することです。

conn.sadd('Cats#A', *[1, 2, 3])
conn.sadd('Cats#B', *[4, 5, 6])
print(conn.smembers('Cats#A'))
print(conn.smembers('Cats#B'))
conn.sadd('Cats#B', *[7, 8, 9])
print(conn.smembers('Cats#B'))

出力:

{b'[1, 2, 3]'}
{b'[4, 5, 6]'}
{b'[4, 5, 6, 7, 8, 9]'}

管理しやすい方を使用してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Redis:ハッシュマップをセットに保存する

分類Dev

ハッシュマップで再ハッシュを回避できますか?

分類Dev

ハッシュマップで再ハッシュを回避できますか?

分類Dev

ハッシュマップに挿入して、セットの重複を考慮しますか?

分類Dev

ハッシュマップはPythonを削除して更新します

分類Dev

リスト付きのscalaハッシュマップをJavaリスト付きのJavaハッシュマップに変換します

分類Dev

Javaでネストされたハッシュマップの値を更新します

分類Dev

ブール値またはハッシュセットを使用したハッシュマップ

分類Dev

ハッシュマップ内のハッシュマップにアクセスし、フォーマットで印刷します

分類Dev

ハッシュマップをループできません-getKey()メソッドが見つかりません-Java8を使用しています

分類Dev

リストビューのonitemclicklistnerによってハッシュマップから値を削除します

分類Dev

ハッシュマップの値として合計を置きます

分類Dev

getOrDefaultのキーを指定して、ハッシュマップ値を更新します

分類Dev

ハッシュマップのリストをセットに変換する

分類Dev

私のforループを取得して、ハッシュマップから最も一般的でない文字を取得することはできません

分類Dev

C ++でハッシュマップを使用してセットをビルドする

分類Dev

ハッシュマップの配列リストから重複する要素を削除できません

分類Dev

ExecutorServiceのからのスレッドは、ローカルに宣言同時ハッシュマップを更新することを保証しますか!

分類Dev

等しい値と同じキーセットの2つのハッシュマップを比較しますか?

分類Dev

Object []をハッシュマップキーセットからString []に変換しますか?

分類Dev

Javaのハッシュマップ/キーセットから値を取得しますか?

分類Dev

EditTextをハッシュマップandroidに追加します

分類Dev

ArrayListFreemarkerでハッシュマップを繰り返します

分類Dev

ハッシュマップに配列リストの値を出力します

分類Dev

javaはハッシュマップサブセットをフィルタリングし、ハッシュマップ全体を失うことなくその値をソートします

分類Dev

更新中にハッシュマップをロックする方法は?

分類Dev

反復せずにハッシュマップから1つのエントリを取得する方法

分類Dev

ハッシュマップハッシュテーブルlinkedHashmap何を使用しますか?

分類Dev

AndroidStudioを使用してJavaで一致するハッシュマップキーを印刷できません

Related 関連記事

  1. 1

    Redis:ハッシュマップをセットに保存する

  2. 2

    ハッシュマップで再ハッシュを回避できますか?

  3. 3

    ハッシュマップで再ハッシュを回避できますか?

  4. 4

    ハッシュマップに挿入して、セットの重複を考慮しますか?

  5. 5

    ハッシュマップはPythonを削除して更新します

  6. 6

    リスト付きのscalaハッシュマップをJavaリスト付きのJavaハッシュマップに変換します

  7. 7

    Javaでネストされたハッシュマップの値を更新します

  8. 8

    ブール値またはハッシュセットを使用したハッシュマップ

  9. 9

    ハッシュマップ内のハッシュマップにアクセスし、フォーマットで印刷します

  10. 10

    ハッシュマップをループできません-getKey()メソッドが見つかりません-Java8を使用しています

  11. 11

    リストビューのonitemclicklistnerによってハッシュマップから値を削除します

  12. 12

    ハッシュマップの値として合計を置きます

  13. 13

    getOrDefaultのキーを指定して、ハッシュマップ値を更新します

  14. 14

    ハッシュマップのリストをセットに変換する

  15. 15

    私のforループを取得して、ハッシュマップから最も一般的でない文字を取得することはできません

  16. 16

    C ++でハッシュマップを使用してセットをビルドする

  17. 17

    ハッシュマップの配列リストから重複する要素を削除できません

  18. 18

    ExecutorServiceのからのスレッドは、ローカルに宣言同時ハッシュマップを更新することを保証しますか!

  19. 19

    等しい値と同じキーセットの2つのハッシュマップを比較しますか?

  20. 20

    Object []をハッシュマップキーセットからString []に変換しますか?

  21. 21

    Javaのハッシュマップ/キーセットから値を取得しますか?

  22. 22

    EditTextをハッシュマップandroidに追加します

  23. 23

    ArrayListFreemarkerでハッシュマップを繰り返します

  24. 24

    ハッシュマップに配列リストの値を出力します

  25. 25

    javaはハッシュマップサブセットをフィルタリングし、ハッシュマップ全体を失うことなくその値をソートします

  26. 26

    更新中にハッシュマップをロックする方法は?

  27. 27

    反復せずにハッシュマップから1つのエントリを取得する方法

  28. 28

    ハッシュマップハッシュテーブルlinkedHashmap何を使用しますか?

  29. 29

    AndroidStudioを使用してJavaで一致するハッシュマップキーを印刷できません

ホットタグ

アーカイブ