cache的save()方法
来源:16-1 Redis分布式缓存引入与保存缓存功能实现

哟只贤
2019-03-17
老师,关于这两个save()方法我还是有一点迷迷糊糊的,后面那个save方法的keys传入的是用户信息相关的值吗?为什么前面那个save方法又调用后面的save方法,然后还传一个null 的keys,我感觉有点懵,大脑反应不过来了。
写回答
1回答
-
你好,这里两个方法其实是针对两个不同的场景,举个实际点的例子,如果我们要通过一个缓存key缓存所有的信息,比如缓存所有权限点基础信息,这时直接使用第一个函数就可以了,key就是一个常量的字符串,不需要其他的变量动态组成一个变量key,这种情况下第一个函数调用第二个函数时那些动态变量给空即可。再说另外一个场景,我们想缓存每个用户不同的权限,这时每一个缓存key需要补充一个变量用户id才可以,缓存使用的key每次需要动态拼入一个或多个变量,这时直接调用第二个方法就可以了。
除此之外,我们实现时考虑了程序的复用,第一个方法和第二个方法实际操作redis部分是相同的,只是生成key不同,因此第一个方法调第二个方法时最后一个参数传的null,第二个方法拼装key时考虑最后一个参数为空的情况即可。012019-03-18
相似问题