redis支持的5种数据类型(type):String List Hash Set Zset
redis每个数据类型支持的编码(encoding):
String : int embstr raw
List:linkList zipList
Hash:zipList hashtable
Set: intSet hashTable
Zset:zipList skipList(跳表)
redis的数据结构:SDS简单的动态字符串:小于1mb的时候 动态分配大小未原长度的2倍 大于1mb的时候 动态分配大小为1mb
redis 持久化:
- AOF(Append Only File):将被执行的写命令写到AOF文件的末尾、只记录命令,需要自己在配置中打开。
- RDB(Redis DataBase):通过创建快照来获取存储在内存里面的数据在某个时间点上的副本。在创建快照之后,用户可以对快照进行备份,可以将快照复制到其他服务器从而创建相同数据的服务器副本。(如果系统真的发生崩溃,用户将丢失最近一次生成快照之后更改的所有数据。) 记录数据。
AOF文件比RDB更新频率高,优先使用AOF还原。
AOF比RDB更安全也更大。
RDB性能比AOF好。
如果两个都配了优先加载AOF
redis pipeline(管道): 允许客户端一次发送多条命令,redis服务器会批量处理,减少IO往返时间。