
文章插图
应用场景:用于高可用需求场景,可用于高可用Cache,存储等场景 。内存/QPS受限于单机 。
4.3.3. Redis Cluster可直接采用官方给出的推荐方案,将node配置成主从结构 。图下图所示为最小节点的Redis高并发、高可用集群 。
应用场景:用于高可用需求场景,可用于大数据量高可用Cache/存储等场景 。内存/QPS不受限于单机,可受益于分布式集群高扩展性 。

文章插图

文章插图
4.4. 数据存储格式鉴于我们的微服务众多,为了规避key一样的情况发生 。因此,需要约定下存储格式:服务名#业务分类名##key(调用的key)
公共接口数据key约定:服务器ID#user##key(调用的key);
独立微服务数据key约定:服务器ID#服务名##users##getUsersDetail(调用的key);
以上所有的“cs#user##”或“服务名#”开头的前缀,统一由公共接口实现,业务方使用时的入口为最后的key即可 。
4.5. 可用API接口:IRedisService
接口定义
描述
1
boolean set(String key, Object value)
添加String类型的缓存数据
2
boolean set(String key, Object value, Long expireTime)
自定义有效时间的String类型缓存数据
3
Object get(String key)
读取String类型的缓存
4
void setHash(String key, Map<?,?> map)
哈希 添加Map
5
Object getHash(String key)
获取哈希数据
6
void setList(String key, Object value)
List列表添加
7
List<Object> getList(String key, long start, long end)
List列表获取
start 开始
end 结束 0 到 -1代表所有值
8
void addSet(String key, Object value)
Set集合添加
9
【实战Redis,解决高并发性能问题】Set<Object> getSet(String key)
Set集合获取
10
void addZSet(String key, Object value, double scoure)
ZSet有序集合添加
11
Set<Object> getZSet(String key, double scoure, double scoure1)
ZSet有序集合获取
12
boolean expire(String key,long time)
指定某key的缓存有效时间
13
long getExpire(String key)
获取指定key的过期时间
14
void remove(String... keys)
删除一组或单个key的缓存数据
15
boolean exists(String key)
判断缓存中是否有对应的value
5. 运行保障5.1. 监控指标连接客户数
阻塞连接数
Redis占用内存
内存峰值
主从角色
master_link_status
执行命令总数和qps
上报时间
推荐阅读
- Win10系统更新变卡顿,只要卸载它就能解决!实用收藏
- Redis宕机或者出现意外删库导致数据丢失--解决方案
- Redis响应严重延迟,如何解决?
- JWT 身份认证优缺点分析以及常见问题解决方案
- Linux 日志分析实战
- ipad出现闪屏乱跳怎么办-ipad闪跳的解决办法-
- 怀孕呕吐怎么办 5款食疗方解决孕吐
- 月经推迟怎么办 7款药膳方帮你解决
- excel都是乱码怎么解决-excel中的乱码怎么办-
- 使用Redis轻松实现秒杀系统
