Redis篇

redis 相比于 memcached 有哪些优势?

1,memcached只支持简单的字符串,redis可以支持更丰富的数据类型
2,redis效率比memcached快,redis可以达到10万次/秒,memcached只能达到7万次/秒
3,redis可以持久化其数据,memcached不行

redis 支持哪些数据类型?

string、list、hash、set、sorted set

redis 有哪些持久化方式?

有2中持久化方式:RDB 和 AOF
1,RDB:指定间隔时间内将redis中的全部数据快照持久化到磁盘。(fork一个子进程,数据持久化到磁盘后替换到原来的备份)
2,AOF:记录每次写和删操作,将操作记录持久化到磁盘

简述 RDB 和 AOF 的优缺点?

A1)RDB优点:
1,只有一个备份文件,易于管理维护和灾难恢复
2,性能好,是fork一个子进程进行持久化,避免服务进程进行IO操作
3,持久化文件只有数据,启动效率比AOF高
A2)RDB缺点:
1,是指定间隔一段时间进行持久化,如果再将要持久化的时候宕机,会丢失该间隔段中的数据
2,每次都是全量备份数据,如果数据量很大,还是会影响redis性能(几百毫秒-1秒)

B1)AOF优点:
1,可以选择a)每秒,b)每次,c)不同步 3种方式来进行持久化,处理时间粒度小,处理数据小,速度快
2,宕机影响数据少
3,详细记录了所有的操作记录
B2)AOF缺点:
1,对于相同数据量的数据,AOF文件要比RDB大,回复速度要比RDB慢
2,因为很小的时间粒度中都在进行持久化操作,所以性能上影响要比RDB大。

redis 集群方案有哪些?

redis集群可以选择3种分片方式:服务端分片,客户端分片,中间件分片

A)服务端分片:Redis-cluster
原理:将全量key划分为16384个槽,然后每接入一个redis节点,就针对该节点划分槽区间,存取数据的时候,将key进行hash算法,找到对应的槽,从而找到对应的负责节点,从而进行数据的存取。hash算法是CRC16之后16383取模。

B)客户端分片:Redis-Sharding
原理:针对key进行hash散列,每一个redsi节点负责对应范围的hash值,进行存取操作。hash算法是一致性hash算法。

C)中间件分片:twemproxy / codis
原理:客户端将请求不直接发给redis服务端,而是发给twemproxy,由twemproxy统一路由处理之后去调用对应的redsi服务端

redis 回收算法?

redis使用的是LRU算法:淘汰最久未使用对象。

你可能感兴趣的:(Redis篇)