Redis的购物车

时间:2015-06-22 23:11:31

标签: redis key-value-store

我想在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

我应该使用哪种数据类型?

2 个答案:

答案 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/