扫码关注官方订阅号
业精于勤,荒于嬉;行成于思,毁于随。
方法一:直接用Mysql 这种事情首先Mysql里面就有缓存,实现了类似的功能,如果需要缓存的东西很多,你可以把缓存的内存设置大一点。 这样的好处就是你不用自己去控制缓存的失效,确保数据一致性。
方法二:启用用DAO框架的缓存 比如Mybatis、Hibernate都是可以直接开启二级缓存,一般是用ehcache作为实现,你只要配置一下就行,无需额外操作。
方法三:自己实现 用AOP去在Dao层做一个切面,把调用的“类名+方法名+参数”作为key,查询结果作为value,每次调用去看一下是否已经缓存了,如果没有再去调用Dao的实现类。
注:如果真的要自己去实现,不建议做一个这么通用的方案,感觉重复造轮子。对性能要求极高的场景,可以根据实际需要做一些必要的缓存即可。
建议你学习下代理模式
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
方法一:直接用Mysql
这种事情首先Mysql里面就有缓存,实现了类似的功能,如果需要缓存的东西很多,你可以把缓存的内存设置大一点。
这样的好处就是你不用自己去控制缓存的失效,确保数据一致性。
方法二:启用用DAO框架的缓存
比如Mybatis、Hibernate都是可以直接开启二级缓存,一般是用ehcache作为实现,你只要配置一下就行,无需额外操作。
方法三:自己实现
用AOP去在Dao层做一个切面,把调用的“类名+方法名+参数”作为key,查询结果作为value,每次调用去看一下是否已经缓存了,如果没有再去调用Dao的实现类。
注:如果真的要自己去实现,不建议做一个这么通用的方案,感觉重复造轮子。对性能要求极高的场景,可以根据实际需要做一些必要的缓存即可。
建议你学习下代理模式