如何统一管理项目中大量的Redis key名称?

1. 问题描述?

目前项目中大量的Redis key名没有统一管理,导致可能项目中一处更改,忘记另外一处,不知道大家有没有好的方法可以统一管理呢?

2.已经想到的方案

Enum 枚举类把所有的Redis key 放在一个枚举类里边。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
fatrbaby
最佳答案

redis客户端上封装一层,让其key的参数只接受实现了某个interface的类的对象,让不同的业务去实现这个interface来生成key,再配合静态工厂、匿名类 这些模式来简化代码的写法。

2年前 评论
Yan_ming (楼主) 2年前
fatrbaby (作者) 2年前
讨论数量: 8

设置统一redis的管理类来管理各种redis读取和写入

2年前 评论
fatrbaby

redis客户端上封装一层,让其key的参数只接受实现了某个interface的类的对象,让不同的业务去实现这个interface来生成key,再配合静态工厂、匿名类 这些模式来简化代码的写法。

2年前 评论
Yan_ming (楼主) 2年前
fatrbaby (作者) 2年前

file

我是放在config配置裡面配置的 :joy:

2年前 评论
Yan_ming (楼主) 2年前

因为缓存也是分场景去使用的,我是把每个场景对应一个 场景缓存类,在这个类里面定义常量作为 key 名称,如果有某个场景会改动缓存KEY 就改哪个类文件,至于为什么不放在一个 枚举文件里面,因为我见不得 一个枚举类文件几百上千行密密麻麻,还得一个个注释代表每一行枚举是对应什么场景。

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!