作为一个小白,最近学习 Redis 缓存,心中有一个疑问:
假如在 mysql 中有一张 user 表用于保存用户的相关信息,表的主要字段有:id,username,password,email,nick,born,sex,status等等,现在想将 user 数据表中的所有数据全部缓存到 redis 数据库服务器中,请问 redis 的键值应该怎么设置呢?
是设为类似于:
user:[id]:username username_value
user:[id]:password password_value
user:[id]:email email_value
user:[id]:nick nick_value
...
还是设置为这样的形式呢:
user:[id] json_string
// json_string 是将一条用户信息的二维数组转换成json字符串
请问这两种形式哪种更好一些?哪种更节约内存一些?
希望各位大婶能解答一下我的疑问,对此表示万分感谢 =.=
存hash呢 用户id加个前缀设为key.比如user:888
hash集合里存常用用户属性.
另外不推荐全部用户无脑存缓存...这样有点本末倒置了..mysql会一脸懵逼的(要我何用←_←)...可以试着建立一个简单的热度统计 热用户存缓存
实在不行你就给hash设一个超时 每个用户信息第一次登录后就存一段时间....省的你劳神费心...