java面试准备6-redis

大小写

 redis命令不区分大小写,而key是区分大小的

数据类型

  • String
  • list
    有序,可重复
  • hash:Map<String,Map<Object,Object>>
  • set
    无序,不重复
  • zset

redis事务

#开启事务
multi
#排入redis操作
set k1 v1
set k2 v2
#监视键值对(可选)
watch k1
watch k2
#执行redis操作
exec
#取消监视(可选)
unwatch

redis实现分布式锁

Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)

redis分布式锁缓存续期?

Redisson已实现

redis缓存过期淘汰策略

redis默认内存大小

redis默认64位操作系统最大内存

一般生产上如何配置

一般推荐设置redis内存为最大物理内存的四分之三

查看redis情况

info

redis内存满了怎么办

redis也会报OOM

缓存淘汰策略

redis过期键的删除策略

如果一个键过期之后,不会马上从内存中删除

三种不同的删除策略
  • 定时删除:过期立即删除
    对CPU不友好,用处理器性能换取存储空间
  • 惰性删除
    数据到达过期时间不做处理,等下次访问该数据时,如果未过期,返回数据;如果已过期,删除返回不存在
    对内存不友好,用存储空间换取处理器性能
  • 定期删除:定期抽样key,判断key是否过期
    每隔一段时间执行一次删除过期键的操作,并通过删除操作执行的时长和频率来减少删除操作对cpu时间的影响

8种缓存淘汰策略

  • noeviction:不会驱逐任何key
  • allkeys-lru:对所有key使用LRU算法进行删除
  • volatile-lru:对所有设置了过期时间的key使用LRU算法进行删除
  • allkeys-random:对所有key随机删除
  • volatile-random:对所有设置了过期时间的key随机删除
  • volatile-ttl:删除马上要过期的key
  • allkeys-lfu:对所有key使用LFU算法进行删除
  • volatile-lfu:对所有设置了过期时间的key使用LFU算法进行删除

redis的LRU算法

简介

LRU是Least Recently Used的缩写,即最近最少使用.

LRU算法实现

基于LinkedHashMap实现

redis缓存雪崩,缓存穿透,缓存击穿

https://zhuanlan.zhihu.com/p/100706208

Redis五种基本数据类型底层实现

Redis五种基本数据类型底层实现

redis主从同步,从机挂了之后,需要重新同步吗?怎么实现的?

Redis主从同步原理、及SYNC和PSYNC同步区别

redis集群如何发现某个节点是否正常?

Redis集群(终篇)——故障自动检测与自动恢复

redis中hash扩容过程

redis中hash扩容过程

Redis主从同步原理、及SYNC和PSYNC同步区别

Redis主从同步原理、及SYNC和PSYNC同步区别

redis面试案例准备

  • list:fit领取
  • String:幂等
  • 分布式锁
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值