【发布时间】:2014-05-07 10:16:20
【问题描述】:
头脑风暴:我正在开发一个 Scala 项目,我们在该项目中进行服务调用,并且需要使用 memcache 缓存返回值。我正在开发一个 Python 项目,used decorators 来注释应该缓存其返回值的函数。我正在 Scala 中寻找一种类似的方式来向函数添加缓存方面。
假设我有这个功能def callingService(arg1: String, arg2: Int): String我想要
- 根据函数名和参数计算缓存键
- 如果缓存不包含密钥,则执行服务调用
- 将返回值序列化并存入缓存
- 否则反序列化缓存值并返回
任何调用 callingService 的代码都不应该知道缓存。 callService 的实现应该只是调用服务 X 并返回一个 String 值,而不是处理缓存的东西。
【问题讨论】:
标签: scala caching aop python-decorators