缓存键的设计应该足够简单,以便可以快速精确地检索。 可以使用一个固定的前缀,后接用户ID或其他有意义的标识符。 键的命名应避免包含空格、换行符、制表符等特殊字符,以防止产生任何乱码问题。
(图片来源网络,侵删)对于大量key的缓存查询和获取指定key值的缓存,下面将详细介绍相关的重要信息,并使用小标题和单元表格进行结构化展示:
1、缓存键值生成策略
键值设计原则:缓存键的设计应足够简单,以便可以快速精确地检索,键的命名应避免包含空格、换行符、制表符等特殊字符,以防止产生任何乱码问题。
动态生成键值:在@Cacheable注解中,key属性用于指定缓存的key值,此属性的值可以是一个SpEL表达式,用于动态生成缓存的key。
2、缓存注解的使用
启用缓存:@Cacheable注解表示启用缓存,并指定value参数为book,表示缓存Key; key参数为#isbn,则表示缓存的键名为isbn变量的值。
激活缓存:在使用@Cacheable注解前,我们还需要增加@EnableCaching注解激活缓存。
(图片来源网络,侵删)3、缓存键值查询
获取所有KEY:在与 Spring Cache 配合使用的 Caffeine 缓存中,我们可以通过某种方式来获取到底层的实现类,并使用其特殊的方法来获取所有可用KEY的集合。
精确找到缓存Key:接口公开了几个常用的方法,根据缓存键值来清理缓存用的比较频繁,前提是要精确找到曾经使用的Key名称或者集合。
4、缓存键值清理
根据特征批量移除:业务上有时候我们希望能根据一些特征,批量把一批Key来移除掉,这个时候就找不到枚举缓存Key集合的方法。
5、缓存键值问题排查
节点错误:在使用redisTemplate.keys查找keys时,发现明明相应的key是存在的,模糊查询就是查找不出来;你key值有可能是乱码了就是遇到xcaxed加上你key之类的乱码。
(图片来源网络,侵删)应当正确设计和管理缓存键值,同时合理使用缓存注解,以及有效利用缓存键值查询和清理的方法,以优化缓存的使用效果,也需要注意缓存键值问题排查,以避免因键值问题导致缓存查询失败。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。