RedisTemplateString Object redisTemplate 写入币种价格单调存入每个币种最多存入60条数据并且在这60数据更新
的过程中,旧数据会被新数据替换。可以通过以下方式实现:
- 首先,定义一个用于存储币种价格的数据结构,例如:
public class CoinPrice {
private String coin;
private double price;
// 其他属性和方法
}
- 然后,创建一个方法用于写入币种价格:
public void writeCoinPrice(String coin, double price) {
ListOperations<String, Object> listOps = redisTemplate.opsForList();
String key = "coin:" + coin;
listOps.leftPush(key, new CoinPrice(coin, price));
long size = listOps.size(key);
if (size > 60) {
listOps.trim(key, 0, 59);
}
}
- 在写入币种价格时,使用
leftPush方法将新数据插入到列表的最左边,同时获取列表的大小。如果列表的大小超过60,使用trim方法将列表裁剪为只保留最新的60条数据。
这样,每次写入币种价格时,都会将新数据插入到列表的最左边,并且保证列表最多只有60条数据
原文地址: https://www.cveoy.top/t/topic/iCPB 著作权归作者所有。请勿转载和采集!