我想在Redis中存储购物车数据。
我有这样的数据:
{ user_X (unique)
product_id1, product_name1, product_price1
product_id2, product_name2, product_price2
... } example of a shopping cart
{ user_Y (unique)
product_id1, product_name1, product_price1
product_id2, product_name2, product_price2
... } example of another shopping cart
我应该使用哪种数据类型?
答案 0 :(得分:2)
您的数据似乎很适合哈希数据类型。使用由用户ID组成的密钥名称(Redis约定是使用冒号,':',字符分隔密钥名称中的元素)。每个购物车中的字段名称Hash应该是产品ID。
由于Redis的哈希(以及所有其他数据类型)不支持嵌套,因此哈希字段值唯一可能的数据类型是字符串。最简单的方法是将产品的名称和价格存储在String中,只需连接两者并使用分隔符进行分隔即可。因此,上面的示例将存储在Redis中,类似于以下内容:
HSET cart:X id1 "name1:price1"
HSET cart:X id2 "name2:price2"
HMSET cart:Y id1 "name1:price1" id2 "name2:price2"
要获得用户的购物车,请在密钥上执行HGETALL
,或者如果您的购物车非常大,请使用HSCAN
。
答案 1 :(得分:0)
本教程将向您展示如何通过使用 Node.js 创建一个基本的电子商务购物车应用程序来利用 Redis 的强大功能。通常,购物车数据作为 cookie 存储在客户端。 Cookie 是存储在网络用户浏览器目录或数据文件夹中的小型文本文件。这样做的好处是您不需要在数据库中存储此类临时数据。但是,这将要求您随每个网络请求发送 cookie,这会在 cookie 较大的情况下减慢请求速度。
您可能会发现这很有趣:https://developer.redislabs.com/howtos/shoppingcart/