redis+spring面试题

66 篇文章 0 订阅

redis使用场景

  • 缓存热点数据
  • 分布式锁
  • 存储token
  • 存储短信验证码
  • 计数器
  • 全局唯一数
  • 排行榜
  • 限流
  • 购物车
  • 关注粉丝

缓存失效

  • 缓存穿透
    • 缓存空结果
    • 布龙过滤器
  • 缓存击穿
    • 全局锁
    • 设置永不过期
  • 缓存雪崩
    • 设置高可用集群
    • 设置不同的过期时间
    • 本地二级缓存,限流加降级

数据一致性

  • 延时双删

集群最大部署多少个主节点

  • 16384

string的存储内存多大

  • 512m

list/set/hash/zset最多可以放多少个体元素

  • 2^32-1/42亿

redis内存用完怎么办

  • 修改redis.conf/maxmemory=0无内存限制

spring容器中的bean是线程安全的吗

  • 不是

spring容器中的bean保证线程安全

  • prototype
  • 不可变的成员变量
  • 将可变变量保持到threadlocal中

什么情况下会触发spring事物回滚

  • 出现运行时异常

spring事物失效场景

  • 同一个service中,方法a标注事物注解,方法b没有
  • 标注事物的 private方法
  • 异常类型错误
  • 方法类上没加@transactional
  • 多线程调用
  • 异常被try-catch
  • 手动抛出了别的异常
  • 事物方法所在的bean未被spring容器管理
  • 方法的事物传播类型不支持事物
  • 表的数据引擎不支持事物,myisam

springbean的生命周期

  • 解析xml配置或者注解的类。得到beandefinition
  • 通过beandefinition反射创建bean
  • 对bean对象进行属性填充
  • 回调实现aware接口
  • 调用beanpostprocessor的初始化前方法
  • 调用init初始化方法
  • 调用beanpostprocessor的初始化后方法
  • 将创建好的bean对象放入map中
  • 业务中使用bean对象就从map中获取
  • spring容器中关闭时调用disposablebean的destroy方法销毁bean对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值