我有电子商务的价格数据,比如following。每一行都被视为一个域对象,比如priceinfo
+-----------+----------+-------+------------------+
| ProductId | Provider | Price | Time |
+-----------+----------+-------+------------------+
| iphone | Amazon | 200 | 13-12-2021 12:50 |
| iphone | Ebay | 201 | 13-12-2021 12:50 |
| iphone | Alibaba | 202 | 13-12-2021 12:50 |
| GalaxyX2 | Ebay | 195 | 13-12-2021 12:50 |
| GalaxyX2 | Alibaba | 196 | 13-12-2021 12:50 |
+-----------+----------+-------+------------------+
客户感兴趣的是从一个特定的供应商那里得到所有的价格,或者从不同的供应商那里得到单个产品的价格
1.从易趣获取价格
+-----------+----------+-------+------------------+
| ProductId | Provider | Price | Time |
+-----------+----------+-------+------------------+
| iphone | Ebay | 201 | 13-12-2021 12:50 |
| GalaxyX2 | Ebay | 195 | 13-12-2021 12:50 |
+-----------+----------+-------+------------------+
2.获取iphone的价格
+-----------+----------+-------+------------------+
| ProductId | Provider | Price | Time |
+-----------+----------+-------+------------------+
| iphone | Amazon | 200 | 13-12-2021 12:50 |
| iphone | Ebay | 201 | 13-12-2021 12:50 |
| iphone | Alibaba | 202 | 13-12-2021 12:50 |
+-----------+----------+-------+------------------+
如何定义我的redis缓存键,如何查询db得到以上两个结果?
在保存pojo时,我正在使用java spring boot项目中的jedis库执行以下操作:
public void save(PricingInfo pricingInfo ) {
template.opsForHash().put(HASH_KEY, pricingInfo.getProductId(), pricingInfo );
}
1条答案
按热度按时间flseospp1#
你可以用
RedisReposiroty
要获取这些数据,可以在redis存储库中将集合定义为我们在这里添加了两个索引,一个用于productid,另一个用于provider。
使用以下两种方法定义redis存储库
现在你可以了
autowired
服务中的productpricerepository。要保存记录,您需要呼叫
repository.save
方法。