String字符串:
格式:set key value
string类型是二进制安全的,string可以包含任何数据,比如jpg图片或序列化对象。
string类型是redis最基本的数据类型,一个键最大能存储512MB。
Hash哈希:
格式:hmset name key1 value1 key2 value2
Redis hash是一个键值对(key=>value)集合。
Redis hash是一个string类型的映射表,hash特别适合用于存储对象。
List列表:
格式:lpush name value头部添加字符串元素
rpush name value尾部添加字符串元素
llen name返回对于list的长度
Set无序集合:
格式:sadd name value
集合是通过哈希表实现的,所有添加、删除、查找的复杂度都是O(1)。
Zset有序集合:
格式:zadd name score value
集合中不允许重复的成员,不同的每个元素都会关联一个double类型的分数。redis正是通过集合中的成员进行从大到小的排序。
zset成员是唯一的,但分数score可以重复。
持久化就是把内存的数据写到磁盘中去,防止服务宕机,内存数据丢失。
Redis提供了两种持久化方式:默认RDB 和 AOF
RDB:
rdb是Redis DataBase缩写
功能核心函数rdbSave(生成RDB文件)和rdbLoad(从文件加载内存)两个函数。
AOF:
aof是Append-only file缩写
每当执行服务器定时任何或者函数时flushAppendOnlyFile函数被调用,该函数执行以下两个工作:
aof写入保存:
write:根据条件,将aof_buf中的缓存写入到AOF文件
save:根据条件,调用fsync或fdatasync函数,将AOF文件保存到磁盘中。
rdb 和 aof 的两个方式比较:
aof文件比rdb更新频率高,优先使用aof还原数据。aof比rdb更安全也更大rdb性能比aof好如果两个都配了优先加载AOF