什么情况下Redis集群不可用?

Redis Cluster有一个容错机制,如果半数以上的主节点与故障节点通信都超时了,就会认为该节点故障了,自动触发故障转移操作,故障节点对应的从节点升级为主节点。

但是如果某个主节点挂了,又没有从节点可以使用,那么整个Redis集群就不可用了、

Redis存储结构底层有没有了解?什么是SDS

简单动态字符串,是Redis自己封装的字符串结构。它记录了字节数组buf,字节数组中用到的字节数len,以及未使用的字节数free。

  • 为了解决二进制安全问题,定义了len来表示已有字符串长度
  • 为了防止缓冲区溢出,在分配内存的时候做了预留空间free
  • 内存惰性释放,多余的内存加入free做预留,优化了内存频繁分配
  • 针对不同的String长度定制了不同的SDS结构

Redis如何模拟队列和栈,用什么命令

list控制同一边进,同一边出就是栈;list控制一边进,另一边出就是队列

Redis存储单个对象怎么存,存储对象集合怎么存

单个对象可以使用String,也可以使用hash

集合对象可以使用hash,以便可以快速的通过field来取值

你们Redis用来做什么?使用的什么结构?

登录信息login,使用的是String结构存储

手机验证码code,使用的是String结构

课程分类course_type ,使用的是String结构

购物车保存,使用的是Hash结构

统计全国高考前20名用什么?

Zrevrangebyscore

从100个VIP用户中随机抽取5名怎么做?

Srandmember