后端
算法与数据结构
数据结构
二叉树
平衡二叉树
B-Tree
算法
- 排序算法
数据库
Redis
- Redis 支持的数据结构?
- Redis 是一种非关系型内存数据库,可以存储 key 与 5 种不同数据结构类型的 value,这 5 种数据结构包括 string(字符串、整数、浮点数)、list(链表,链表上的每一个节点都可以是 string)、set(包含 string 的无序收集器,且每一个 string 都不相同)、hash(无序散列表)以及 zset(有序集合)。
- list 链表,使用场景比如微博的粉丝列表;hash 一般用来存储对象,比如当前用户信息或者商品信息;set 类似于 list,但是可以排重,在微博应用中,可以将一个用户所有的关注人存在一个集合中,将其所有粉丝存在一个集合,Redis可以非常方便的实现如共同关注等功能;sorted set,有序集合,比如在直播系统中,实时排行信息包含直播间在线用户列表,各种礼物排行榜。
- Redis 的两种持久化操作以及如何保证数据安全(快照和AOF)?
- 通过快照功能把某个时间点的数据存储一个副本。
- AOF 就是周期性的把写操作命令写入到记录文件内。
- Redis 如何防止数据出错(Redis 事务)?
- Redis 有简单的事务功能,开始命令 MULTI,结束命令 EXEC。实际上它是把多个命令的一组集合,一个事务中所有命令都会被序列化,按顺序执行而不会被其他命令插入。