Redis:入门和集群调用

文章

问题

  1. Redis如何解决数据库一致性
  2. 以 Java 为例,使用自带的 map 或者 guava 实现的是本地缓存?
  3. redis实现一次通讯
  4. redis淘汰机制

梳理

  1. redis单线程构建原理
  2. Redis的五种数据接口,String,hash,list,set,sorted set
  3. redis 持久化,RDB和AOF

redis 持久化

开始持久化,一种主动,一种被动。
主动通过save命令,会阻塞Redis线程,被动fork会创建一个子线程,进行快照保存。
4. RDB: 使用一次性生成内存快照的方式,产生的文件紧凑压缩比更 高,因此读取RDB恢复速度更快。由于每次生成RDB开销较大,无法做到实时持久化,一般用于数据冷备和复制传输。
5. AOF : 通过追加写命令到文件实现持久化,通过appendfsync参数可以 控制实时/秒级持久化。因为需要不断追加写命令,所以AOF文件体积逐渐变大,需要定期执行重写操作来降低文件体积。
6. 在redis5之后,同时开启RDB和AOF,在数据恢复的时候,会先重写RDB,然后把AOF文件追加到重写的文件中。
参考
参考

秒杀应用

  1. 初始,setnx key value
  2. 防止死锁,set key value EX (秒数) ,根据实际线程整个流程时间设置
  3. 存在一种情况,第一个线程阻塞,redis锁到时间自动消失,第二个线程开始,这时候第一个线程开始,并完成流程,开始主动删除redis锁,会把第二个线程的锁删除,导致程序异常。可以通过将value值设置为线程ID,线程ID相同才会进行删除。
  4. 防止线程超时,但是线程还在正常运行,要设置守护线程,进行续约,线程结束删除对应的key。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贝多芬也爱敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值