redis个人总结

1、什么是Redis?

1
redis 就是一种NOSQL型内存缓存数据库,可以支持redis 集群 主从复制 读写分离,支持大数据量存储,高并发!

2、redis和memcached的区别是什么?

1
2
3
4
5
6
1. 都是内存数据库,redis不仅支持K/V形式,还可以存储 String Map List Set 类型。 memcached 不仅可以存储 String Map List Set 类型 还可以存储 视频 图片等
2. 都有自己的缓存过期策略。redis 可以使用expired设置 过期时间,memcached 可以 set 1008 设置永不过期
3,都可以做集群和分布式存储。支持一主多从
4,redis可以设置持久化(rdb和aof)在数据容灾的时候可以通过rdb文件进行数据库恢复,但是memcahed 一但但是memcahed挂掉以后就不能恢复数据了
5,redis 支持数据备份可以通过 master-slave进行数据备份
6 应用场景不一样,redis 不仅仅可以做完NOSQL存错数据以外,还要做消息队列。memached适合存储一些SQL语句。数据集,用户的临时性的数据和sessin等。

3、Redis支持哪几种数据类型?

1
存储 String Map List Set

4、Redis主要消耗什么物理资源?

1
主要消耗物理机的内存和物理磁盘

5、为什么Redis需要把所有数据放到内存中?

1
Redis NOSQL型内存缓存数据库 当然是把所有的数据放到内存,不会redis可以定时进行fsyn操作把数据放到物理磁盘中

6、Redis集群方案应该怎么做?都有哪些方案?

1
2
3
4
5
6
7
8
9
1、 redis Cluster 集群
其实redis官方的方案就是,一个master node 配置多个slave node 然后通过 redis 哨兵集群 监控redis master
存储的key是根据 CRC16 16384取模 ,每一个redis slave node 都会分担16384 个solt 的一部分。 也就是说,
每一个slave node 都会处理对应分配的 solt 。如果当redis slave node 添加或者减少 会重新分配每一个redis slave node 的solt。
当redis master node 挂掉以后 这个redis 哨兵集群会选出一个redis 哨兵,然后通过选出来的这个redis 哨兵来
选出一个redis master node
2、 redis Shareding 集群
不了解。哈哈

7、Redis集群方案什么情况下会导致整个集群不可用?

1. 假设   在多台物理机集群的时候, 假设 redis master 部署在server-1 和redis 哨兵集群 部署 在 server-2 
        其他的redis slave node 部署在 server-3 server-4 server-5 server-6 ....
        这个时候  server-1   server-2  之间的网络断了 ping 不通了,这个时候 redis 哨兵 就会觉得redis master 死掉了
      其实redis master 没有死掉。于此,redis 哨兵就会选举一个新的master node ,这个时候导致redis 集群有两个master 
    导致集群数据不可用

 2.断电。

 3 .。。。

8、Redis提供了哪几种持久化方式?

AOF 和rdb
如何 AOF和rdb 同时配置 优先是AOF