在Redis DB中保存数据的有效方法

Hac*_*uck 2 redis

我想在Redis数据库中保存以下数据:

{"id": "1", "data": "abc", "param": "p1"}
{"id": "2", "data": "def", "param": "p2"}
Run Code Online (Sandbox Code Playgroud)

目前,我将每一行保存如下(使用JedisJava中的客户端):

JEDIS.set(line.getId(),line.getLine());
Run Code Online (Sandbox Code Playgroud)

因此,结果是这样的:

"1", "{"id": "1", "data": "abc", "param": "p1"}"

GET 1
{"id": "1", "data": "abc", "param": "p1"}
Run Code Online (Sandbox Code Playgroud)

这是在Redis中保存此类数据的有效方法吗?也许最好将每行都转换为a Set或其他内容?

Kev*_*nry 5

如果您需要做的只是获取和设置数据块,则直接使用GETand SET有意义。如果需要考虑使用内存,则可以使用MessagePack代替JSON。

如果您通常的访问模式不涉及整个对象,则可以选择使用散列,因为这将允许您分别获取和设置字段,从而减少了需要传输的数据量。(不过,这不会减少存储数据所需的内存总量。)