面试题答案
一键面试存储方案设计
使用Redis的哈希(Hash)数据结构来存储这种自定义数据结构。哈希特别适合存储对象,其中每个字段(field)对应一个属性,值(value)对应属性的值。
在这个场景中,哈希的键(key)可以设计为以 “user:” 为前缀加上用户ID,字段为 “username” 和 “register_time”,分别存储用户名和用户注册时间。
例如,对于用户ID为123的用户,哈希键为 “user:123”,其 “username” 字段的值为 “JohnDoe”,“register_time” 字段的值为 “2023-10-01 12:00:00”。
插入操作
使用 HSET
命令插入数据,示例如下:
HSET user:123 username JohnDoe
HSET user:123 register_time 2023-10-01 12:00:00
也可以使用 HMSET
命令一次性插入多个字段值:
HMSET user:123 username JohnDoe register_time 2023-10-01 12:00:00
查询操作
使用 HGET
命令查询单个字段的值,例如查询用户名:
HGET user:123 username
使用 HGETALL
命令查询所有字段和值:
HGETALL user:123
更新操作
更新操作同样使用 HSET
或 HMSET
命令。如果字段已经存在,HSET
和 HMSET
会更新其值。
例如,更新用户名:
HSET user:123 username JaneDoe
更新用户名和注册时间:
HMSET user:123 username JaneDoe register_time 2023-10-02 10:00:00