1、常用数据类型以及应用
1)String
2)Hash
3)List
4)set
5)zset
2、 分布式锁
序列号
单机版加锁:需要看具体的业务需求
synchronized:不见不散,并发量大容易造成线程积压
ReentrantLock:过时不候,
nginx:反向代理和负载均衡
加分布式锁必须解锁:
程序未到finally,锁未被释放,加过期时间
再优化成原子性:
还有问题:删除了别人的锁
改成自己删自己的锁,但下述代码不是原子性的
使用redis自身的事务做法:
LUA脚本:(官方建议)
再来一个问题:
上代码Redisson
但在超高并发情况下解锁会出现
优化成
3、redis过期缓存淘汰策略
redis默认内存大小:
过期key淘汰缓存策略有8种:调研一般用的是allkeys-lru
LRU:
依赖使用LinkdedHashMap完成LRU算法