面试题答案
一键面试用户基本信息
- 数据结构选择:哈希(Hash)
- 原因:哈希结构适合存储具有多个字段的对象,每个用户基本信息可看作一个对象,其各个属性(如姓名、年龄、邮箱等)作为哈希的字段,对应的值为属性值。这种结构读写效率高,可通过单个操作对整个用户信息进行存取,且占用空间相对紧凑,便于管理和维护。例如,在Python中使用Redis - Py库,可通过
hset
和hget
方法方便地操作哈希数据结构来存储和获取用户基本信息。
权限列表
- 数据结构选择:集合(Set)
- 原因:权限列表通常是不重复的一组权限标识。集合结构在Redis中天然支持去重特性,且添加、删除和查找元素的时间复杂度都是O(1),能高效地进行权限的管理,比如判断用户是否具有某个权限。例如在Java中使用Jedis操作Redis,可利用
SADD
方法添加权限到集合,用SISMEMBER
方法判断权限是否存在。