Redis如何存储用户信息,更好?

用户登录之后,一般都是将用户的信息存在缓存里面。缓存的key生成一个随机的字符串。
这情况就需要考虑到一个存储情况,是存储字符串类型好?还是存储hash更好呢?
1.存储字符串,在存到Redis之前,encode()一下,读取出来,在decode()一下。

2.使用hash,直接按照field=>value的形式存储,不需要decode。但Redis底层存储的还是一个字符串,只是在读取的过程中,Redis自身给转换了。

阅读 7.7k
3 个回答

虽然两者的目的都一样。

但是 hash 还有一个 string 不具备的优点就是按需读写,如果用户信息特别大,大多数时候你只需要 ID、用户名、昵称 这几个参数,使用 hash 就可以按需读取或者更新,而 string 你就必须整体读取或更新。

都可以,都能满足你的需求,而且也没啥性能问题

看需求吧.
比如用户信息比较多, 你有时候可能要对他进行操作, 更新, 那就存 hash 会方便很多.
如果用户信息很小, 那随便存什么了. 存字符串也挺方便的.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题