简介:在商城里面,推荐使用redis的Hash结构缓存商品信息。
下面代码演示怎么使用redis中的Hash结构,缓存商品的信息。
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.0</version>
</dependency>
下面是对应的java代码:
import redis.clients.jedis.Jedis;
public class RedisProductCache {
private final Jedis jedis;
public RedisProductCache(String host, int port) {
jedis = new Jedis(host, port);
}
// 缓存商品信息到Redis的Hash中
public void cacheProduct(String id, String name, double price, int库存) {
String hashKey = "product:" + id;
jedis.hset(hashKey, "name", name);
jedis.hset(hashKey, "price", String.valueOf(price));
jedis.hset(hashKey, "inventory", String.valueOf(库存));
}
// 从Redis的Hash中获取商品信息
public String getProductDetails(String id) {
String hashKey = "product:" + id;
String name = jedis.hget(hashKey, "name");
String price = jedis.hget(hashKey, "price");
String inventory = jedis.hget(hashKey, "inventory");
return "Name: " + name + ", Price: " + price + ", Inventory: " + inventory;
}
// 关闭连接
public void close() {
jedis.close();
}
public static void main(String[] args) {
RedisProductCache redisProductCache = new RedisProductCache("localhost", 6379);
// 缓存商品信息
redisProductCache.cacheProduct("1001", "智能手环", 299.99, 100);
// 从Redis获取商品信息
String productDetails = redisProductCache.getProductDetails("1001");
System.out.println(productDetails);
// 关闭Redis连接
redisProductCache.close();
}
}
在这个示例中,定义了一个RedisProductCache
类,它使用Jedis客户端与Redis服务器进行交互。cacheProduct
方法将商品信息存储到Redis的Hash中,而getProductDetails
方法则从Redis的Hash中检索商品信息。
Redis中存储的结构如下:
product:1001 => {
"name": "智能手环",
"price": "299.99",
"inventory": "100"
}
很多商品使用redis进行缓存,在redis中的存储结构如下:
product:1000
product:1001
product:1002
product:1000
=> {"name": "商品A", "price": 100.0, "inventory": 50}product:1001
=> {"name": "商品B", "price": 200.0, "inventory": 30}product:1002
=> {"name": "商品C", "price": 150.0, "inventory": 80}原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。