我正在努力获取大量数据(数百万条记录),并且计划将频繁的记录保留在缓存中,并从缓存中获取以便快速响应。我正在使用NoSQL数据库,并且在缓存中有大约35k记录。我正在使用这段代码来检查其是否已缓存,

redistemplate.opsForHash().entries("key").size() == 0,

如果条件满足的话
redistemplate.opsForHash().put("key", "KeyValue", List);

如果不,
(List) redistemplate.opsForHash().entries("Key").get("KeyValue");

但是,当我检查性能时,从数据库获取比从缓存获取更快。我只是在尝试基本的redis缓存,不确定是否建议这样做。请提供输入。

最佳答案

您正在处理条目。为什么!
您可以直接使用模板功能来访问键或值。

要检查条件:

redisTemplate.hasKey("key");

如果不满意:
redistemplate.opsForHash().put("key", "hashKey", List);

其他
redisTemplate.opsForHash().get("key", "hashKey");

我认为这将提高性能。

另一方面,尝试找到延迟的确切位置。即。哪个电话造成了延迟?

10-02 00:04