- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
假设我有一个如下所示的 HashMap :
{'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
以便生成的 HashMap 变为
{'dog': {'A': set([1,2,3]), 'B': set([1,2,3,5,8])},
'cat': {'A': set([1,2,3]), 'B': set([1,2,3])}
....
}
这是否可以在不拉取整个 HashMap 进行更新的情况下实现?
不幸的是,这样做只会完全替换该值。
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
可以用来进入 HashMap 和集合?现在我解决这个问题的方法是构建一个包含动物和动物 HashMap 中的键的键。
conn.sadd('{}-{}'.format('Cat', 'A'), entry['Pet'])
最佳答案
目前没有添加/删除哈希字段的命令,您必须读取值并将其更新为新值并重新设置
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]'}
使用更易于管理的那个。
关于python - 您可以在不拉动整个 HashMap 进行更新的情况下更新 Redis HashMap 中的集合吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52028376/
我有不同的结构,它们都包含一个 HashMap与 String作为键,但具有不同的值类型。例如,一个结构有一个类型为 HashMap 的成员, 另一个将有一个 HashMap 类型的成员, 等等。 我
我想制作一个包含学生姓名和科目的板,每个学生在每个科目中都有一个成绩(或者没有..他可以离开考试而不写,然后他的案子将是空的)。我只想使用 HashMap。我的意思是,它会是这样的: HashMap>
是否有内存和速度高效的方法来在 HashMap 中动态存储唯一键:值对? key 保证是唯一的,但它们的数量经常变化。插入和删除必须很快。 我所做的是包含有符号距离场的八叉树(非线性/完整)。八叉树经
有谁知道为什么选择通过 LinkedList 而不是另一个 Hashmap 来实现 HashMap 的存储桶。如果桶本身变成了 HashMap,那么 contains 或 get 的时间复杂度似乎是
我想创建一个具有嵌套结构的 HashMap,就像这个复杂的示例: { type: boy name: Phineas father: type: man
这个问题在这里已经有了答案: How do I create a global, mutable singleton? (7 个答案) 关闭 7 年前。 我想要一个可扩展的字典,将 Object 与
HashMap> hm = new HashMap>(); hm.put("Title1","Key1"); for(int i=0;i hm1 = new H
我必须修改当前代码以适应 Spring MVC。我有 HashMap hashmap = new HashMap(); request.setAttribute("dslrErrors", hashm
我正在尝试进行一些错误捕获。 错误应该检查数组的长度是否小于 2,并检查 HashMap 是否包含用户输入的键。 捕获的错误必须仅使用 if 语句,并且必须使用 .length() 方法,并且必须使用
在 stackoverflow 上提出另一个问题后,(Java- Why this program not throwing concurrent Modification exception)我开始
我有两个类,想使用 org.dozer.Mapper( http://dozer.sourceforge.net/ ) 将 Female 对象的属性映射到 Male 对象。 第一类是: public
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
是否有任何方法可以检查 HashMap 是否包含一组特定的键(这些键是在数组中给出的)。当我尝试类似下面的代码时,它返回 false。 map.containsKey(arrayOf("2018-01
跟进我的问题:How To Access hash maps key when the key is an object 我想尝试这样的事情:webSearchHash.put(xfile.getPa
我有一个可扩展的 ListView ,对于每个 child ,我需要有 4 个“额外”或字符串或其他名称来调用它:- 子标题- 描述- 链接1- 链接2 跟着教程,创建 ListView 、不同的 p
我想确保这是正确的,因为如果不正确,它可能会破坏我的应用程序。 我有这个: private static HashMap> balance = new HashMap<>(); 如果我得到这样的值:
我想做以下事情: 为某个键查找Vec,并将其存储以备后用。 如果它不存在,则为键创建一个空的 Vec,但仍将其保存在变量中。 如何有效地做到这一点?自然地,我认为我可以使用 match: use st
我想做以下事情: 为某个键查找Vec,并将其存储以备后用。 如果它不存在,则为键创建一个空的 Vec,但仍将其保存在变量中。 如何有效地做到这一点?自然地,我认为我可以使用 match: use st
我想做以下事情: 为某个键查找Vec,并将其存储以备后用。 如果它不存在,则为键创建一个空的 Vec,但仍将其保存在变量中。 如何有效地做到这一点?自然地,我认为我可以使用 match: use st
我想做以下事情: 为某个键查找Vec,并将其存储以备后用。 如果它不存在,则为键创建一个空的 Vec,但仍将其保存在变量中。 如何有效地做到这一点?自然地,我认为我可以使用 match: use st
我是一名优秀的程序员,十分优秀!