一、数据类型
1、String字符串--二进制安全
整数等任何数据、最大512M
应用:粉丝数、微博数
2、hash哈希
存field-value结构(k-v),适合存对象信息
应用:用户信息
3、list列表
字符串列表,按插入顺序排序,可左插入、左删除、右插入、右删除
应用:粉丝列表
4、set集合
无序、去重的字符串集合,可取交集、并集、差集,内部是value为null的hashmap,还可以判断某个成员是否在集合里
应用:粉丝列表、共同好友
5、sorted-set有序集合
有序、不重复的字符串集合,关联double类型的权重参数score,根据score排序
应用:排行榜,带权重的消息队列
二、持久化:
1、快照
这种方式可以将某一时刻的所有数据都写入硬盘中,当然这也是redis的默认开启持久化方式,保存的
文件是以.rdb形式结尾的文件因此这种方式也称之为RDB方式。
快照生成:
- 客户端方式: BGSAVE 和 SAVE指令
- 服务器配置自动触发,满足一定条件,则生成快照
- 收到shutdown指令后,执行save,阻塞
2、AOF
这种方式可以将所有客户端执行的写命令记录到日志文件中,AOF持久化会将被执行的写命令写到
AOF的文件末尾,以此来记录数据发生的变化,因此只要redis从头到尾执行一次AOF文件所包含的所有写命令,就可以恢复AOF文件的记录的数据集。
默认不开启,可修改配置appendonly、文件名appendfilename、追加频率appendfsync
问题:文件持续变大--达到一定大小触发重写文件