在 SQL 数据库中存储哈希映射
如何将哈希映射存储在 SQL 数据库中?另外,如何将该哈希映射从 SQL 数据库加载回哈希映射的实例中?
好吧,这就是我正在做的。我有一个数据库来存储我的游戏的玩家数据。它有一个包含其用户名和密码的表。每个玩家都有一个存储其属性的哈希映射。我需要将该HashMap与其各自的用户一起存储在数据库中。
如何将哈希映射存储在 SQL 数据库中?另外,如何将该哈希映射从 SQL 数据库加载回哈希映射的实例中?
好吧,这就是我正在做的。我有一个数据库来存储我的游戏的玩家数据。它有一个包含其用户名和密码的表。每个玩家都有一个存储其属性的哈希映射。我需要将该HashMap与其各自的用户一起存储在数据库中。
您需要一个 3 列表
用户
钥匙
价值
然后看起来像
“用户 1”, “属性 1”, “值 1”
“用户 1”, “属性 2”, “值 2”
“用户 2”, “属性 1”, “值 1”
“用户 3”, “属性 1”, “值 1”
“用户 3”, “属性 2”, “值 2”
然后,您只需将数据读回并查看用户字段以重新构建每个具有表。
但是,如果要粘贴键值,则必须确保键和值是字符串,并且可以适合列定义。下面是一个示例:
mysql> create table hashmap (k varchar(200), v varchar(200));
Query OK, 0 rows affected (0.24 sec)
mysql> insert into hashmap values ('key','value');
Query OK, 1 row affected (0.02 sec)
mysql> select * from hashmap;
+------+-------+
| k | v |
+------+-------+
| key | value |
+------+-------+
1 row in set (0.00 sec)
此外,您可以对保存键的列进行唯一索引,以便查找就像哈希映射一样是常量,并且可以使用 替换旧值。我假设你正在使用MySQL作为部分。k
ON DUPLICATE KEY UPDATE v = new_value.
ON DUPLICATE KEY