问个关于redis存放table的问题
发布于 9 年前 作者 im-here 8950 次浏览 最后一次编辑是 8 年前 来自 问答

RT,我如果想把一个table存放在redis里是不是只能把这个table to json,然后在把这个json字符串存放在redis里? 查了下,好像redis不支持直接存table。如下: 666.jpg 在node里 这个table最终会是一个数组。

16 回复

5种数据结构里没有table,但可以实现

@i5ting 查了下,如果要存上面table那样的数据,好像只能json了?

看你打算怎么用。如果每次都是全量取出的话,就用 string 存。如果需要针对字段进行 find,就别用 redis 干这个事。

当做字符串来处理

@imhered 回复别人的时候把自己的情况说清楚啊。别拿到结果就跑了。

@alsotang =。= 因为现在做的是一个手游项目,为了提高玩家体验,所以我想把数据先放在内存里,玩家直接操作内存里面的数据,然后在异步同步至数据库。 现在方案没定,所以我在考虑这种情况是不是要放在redis

hash不就是表么…

存个hash就可以了,hmset

@imhered 看看 hash 结构能不能满足吧

和上面各位大大说的一样,有两个方案,一种是以JSON字符串的形式存在string中,一种是存在hash中,不过各有优劣

存在String的话,操作比较简单,但每次存取都要进行转换,而且如果你只想操作某个字段的时候,必需把整个String拿出来,然后整个放回去。

使用Hash的话,操作个别字段会比较方便,但value只能是string,多少有些不便。(注:如果你要存的是对象数组的话,还需要一个List来关联每个Hash)

redis是你的数据库吗?

@klesh 不是,数据库是mysql,redis做缓存用的,但是为了提高体验,我想把经常要操作的数据缓存到redis

回到顶部