
集群session 共享问题
Tomcat 也提交了一个数据共享机制,但是因为多台 Tomcat 之间数据有时效性,所以没采用这种方式;
session共享问题:多台Tomcat并不共享session存储空间,当请求切换到不同tomcat服务时导致数据丢失的问题。
session的替代方案应该满足:
- 数据共享
- 内存存储
- key、value 结构

Redis 存对象的数据结构选择
- 保存登录的用户信息,可以使用String结构,以JSON字符串来保存,比较直观,但修改数据时,需要维护整条数据记录;

- Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD,并且内存占用更少;

缓存
缓存击穿
解决方案互斥锁与逻辑过期

生成全局唯一ID
全局ID生成器,是一种在分布式系统下用来生成全局唯一ID的工具,一般要满足下列特性:
- 唯一性
- 高可用
- 高性能
- 递增型
- 安全性
为了增加ID的安全性,我们可以不直接使用Redis自增的数值,而是拼接一些其它信息
ID的组成部分:
传统分页和滚动分页
Redis 中要用 sort set 数据结构,基于 score 排序而不是角标;
地理位置数据结构
Redis 中 GEO 数据结构
用户签到
每个用户每天签到情况,使用 BitMap 数据结构;
连续签到时,要充分利用二进制的位移运算;
UV 和 PV
Redis 数据结构:HyperLogLog

