redis知识点个人总结,超详细

1.redis是什么?
key-value非关系型数据库,支持读写10w/s,8w/s速度,单个value最大512M,memcached最大1M,速度快,缺点受物理内存限制,因此应用是小数据量高性能操作上
2.redis比memcached优势?
1)redis支持多种数据结构 string/hash/list/set/sorted-set/sorted-set
2)速度快
3)支持多种骚操作 比如消息队列,比如管道,比如地理定位存储
4)可以AOF,RDB持久化操作
3.redis支持哪几种数据类型?
redis支持数据类型五种, string/hash/list/set/sorted-set/sorted-set
4.redis主要消耗什么物理资源?
内存
5.redis的全称是什么?
remote dictionary server
6.redis有哪几种数据淘汰策略?
注意5.0之前是6种,5.0之后是8种(增加了两个频率的) redis.config中配置 maxmemory-policy:..
1)allkeys-lru:从所有键中选择最近最少使用的淘汰
2)allkeys-random:从所有键中选择随机的淘汰
3)valatile-lru:从已设置过期时间的键中选择最近最少使用的淘汰
4)valatile-random:从已设置过期时间的键中选择随机的淘汰
5)valatile-ttl:从已设置过期时间的键中选择存活时间最短(将要过期)的键淘汰
6)no-eviction:禁止驱逐,不淘汰,内存到达限制会报错返回错误
7)allkeys-lfu:从所有键中选择频率使用最低的键淘汰
8)valatile:从已设置过期时间的键中选择使用频率最低的键淘汰
7.redis官方为什么不提供windows版本?
redis的linux版本已经相当稳定,而且用户量很大,无需开发windows版本,会带来兼容问题
8.一个字符串类型的值存储的最大容量是多少?
512M
9.为什么redis需要把所有的数据放到内存中?
内存中查询快,缓解数据库压力
10.redis集群方案应该怎么做?都有哪些方案?
1)twemproxy代理 请求->twemproxy代理->一致性hash算法->转发到指定的redis实例->返回给代理。优点:代理维护方便,redis修端口号即可;缺点:节点增删后,旧数据不能自动移动到新的节点
2)codis跟上述类似,但是解决了旧数据不能移动到新的节点问题
3)3.0自带的集群 不是采用一致性哈希算法,而是采用哈希槽,16384个哈希槽 2^14这些就够用了
4)代码逻辑层面,根据hash算法自行组织逻辑等
10.redis集群方案什么情况下会导致不可用?
A,B,C三个节点的集群,B节点失败了,那么从比如5000-10000的范围的槽不可用
11.Mysql有2000w条数据,redis有20w条数据,怎么保证redis中都是热点数据?
redis数据上升到一定大小的时候,就会实行数据淘汰策略(LRU)
12.redis的应用场景有哪些?
1)会话缓存,比如购物车里的数据
2)消息队列 利用list的lpush rpop 模拟消费者生产者
3)存放热点数据,排行榜,计数功能
4)geo数据定位功能
5)FPC全页缓存
13.redis支持的java客户端有哪些?官方推荐?
jedis,redission,lettuce,官方推荐使用redission
14.redis与redission什么关系?
redission是redis的分布式客户端,在分布式环境中实现一些java对象,如Set,Map等
15.Jedis对比redission优缺点?
Jedis的api提供了比较全面的redis支持,redission提供了分布式和可扩展的java结构,但是不支持管道,事务等特性,redission关注逻辑分离
16.redis如何设置密码与验证密码?
config set requirepass;    auth 密码;(获取密码:config get requirepass;)
17.redis哈希槽的概念?
16384个槽,请求会通过CRC16算法校验之后通过对16384去模然后匹配到某个槽,一个节点会分配负责若干数量的槽
18.redis集群什么情况下会有写丢失?
1)过期 key 被清理
2)最大内存不足,导致 Redis 自动清理部分 key 以节省空间
3)主库故障后自动重启,从库自动同步
4)单独的主备方案,网络不稳定触发哨兵的自动切换主从节点,切换期间会有数据丢失
5)异步复制 master写成功,slave同步完成之前,master 宕机了,slave 变为 master,数据丢失;改成同步是不是没问题了呢?错,一样的,同步到某个slave时候该主机宕机了,
然后选举这个slave成为master,数据还是丢了
6)网络分区 分区后一个 master 继续接收写请求,分区恢复后这个 master 可能会变为 slave,那么之前写入的数据就丢了。可以设置节点过期时间,减少 master 在分区期间
接收的写入数量,降低数据丢失的损失。
19.Redis集群之间是如何复制的?
异步复制
20.Redis集群最大节点个数是多少?
16384
21.Redis集群如何选择数据库?
默认0数据库,可以通过select 3选择对应的,默认0-15个但是只存0号数据库
22.怎么测试redis的连通性?
PING命令ÿ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值