cache.memory.use

  1. #
  2. # 翻译缓存
  3. # 内存缓存,默认不设置是不启用。 true为启用
  4. cache.memory.use=true

当通过 translate.json 接口进行翻译时,会根据 翻译的目标语种、翻译的每一项内容 将翻译的结果进行缓存到redis (redis 的持久化缓存文件在 /mnt/redis/datafile/ )
注意 ,如果你要实际使用这个能力,配置文件里这样设置后,你还要在 domain.json配置 中针对你的域名或key进行设置内存缓存空间的上限, 这两个都设置后,才能真的启用内存缓存的能力

详细解释

这里比如传入的翻译文本 text 是 ["你好","世界"] 要翻译为英语 (to参数为 english ),
CURL 示例:

  1. curl --request POST
  2. --url http://xxxxxx/translate.json
  3. --header 'content-type: application/x-www-form-urlencoded'
  4. --data to=english
  5. --data 'text=["你好","世界"]'

翻译完成后,会将翻译的结果(已经经过 翻译精度判定 等验证合格的翻译结果)缓存到 redis,
而此次缓存到redis 中的有两条记录:

那么当下次在通过 translate.json 接口进行翻译时,翻译 ["你好","大海"],CURL示例:

  1. curl --request POST
  2. --url http://xxxxxx/translate.json
  3. --header 'content-type: application/x-www-form-urlencoded'
  4. --data to=english
  5. --data 'text=["你好","大海"]'

那么翻译的第一个元素 你好 会从内存缓存中直接取出,不需要在通过翻译通道进行翻译。
而翻译的第二个元素 大海 因为内存缓存中并未进行缓存,所以它会通过翻译通道进行翻译,翻译完成后,同上面一样,将 翻译目标语言是英文+翻译文本是大海 加入到redis中进行缓存。

特别说明

内存缓存的能力是提高用户体验非常重要的一环,加速翻译响应,同时也能极大降低翻译通道的使用,比如如果你用的平台的大模型,则可以极大降低你大模型token的消耗,省钱!