redis知识点

一、redis的优缺点

1.优点

- **读写性能优异**。

- **支持数据持久化**,支持AOF和RDB两种持久化方式。

- **支持事务**,Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。

- **数据结构丰富**,除了支持string类型的value外还支持hash、set、zset、list等数据结构。

- **支持主从复制**,主机会自动将数据同步到从机,可以进行读写分离。

2.缺点

- **数据库容量受到物理内存的限制**,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

- **Redis** **不具备自动容错和恢复功能**,主机从机的宕(dang)机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。

- **主机宕机**,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。

- **Redis 较难支持在线扩容**,在集群容量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费。

 二、redis的内存淘汰策略有哪些

1.全局的键空间选择性移除

- noeviction:当内存不足以容纳新写入数据时,新写入操作会报错。

- allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key。(这个是最常用的)

- allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key。

2.设置过期时间的键空间选择性移除

- volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key。

- volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个key。

- volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除。

3.**总结**

Redis的内存淘汰策略的选取并不会影响过期的key的处理。内存淘汰策略用于处理内存不足时的需要申请额外空间的数据;过期策略用于处理过期的缓存数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值