发布
社区首页 >问答首页 >在Redis中存储字典(StackExchange.Redis)

在Redis中存储字典(StackExchange.Redis)
EN

Stack Overflow用户
提问于 2019-08-01 12:10:45
回答 1查看 2.2K关注 0票数 1

我想把字典放在Redis里。例如,我有产品,订单,客户等.商业实体和他们都有Id和其他相关的属性。

我使用的是最新版本的StackExchage.Redis C#

期望: 1.当我用ID 10保存产品时,首先应该检查产品类型实体是否可用,然后检查产品Id 10是否存在,如果是,则返回整个产品。2.其他实体也是如此。Id 10也可以用于订单实体。

键: TypeName值: Dict(int,Type)

每当发生任何写操作时,都不想更新整个字典,只想在字典中添加新记录或更新记录。

因此,1.每当所有产品被请求时,我都可以返回内部的dictionary.Values 2。如果个别产品被请求,我可以返回一个产品3。如果对所有产品请求删除,那么它将一次性删除所有的内容。4.使用ProductIds为每个HashSet设置超时?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-01 16:04:25

看来你需要红哈希。您可以为产品创建散列,订购。等,并将每件物品按其钥匙储存。以下是一个例子:

  • 在散列/字典中添加产品
代码语言:javascript
代码运行次数:0
复制
    redis>  HSET product id:10 "{product_10_json}" id:11 "{product_11_json}"
    (integer) 2
  • 通过id.检索单个产品
代码语言:javascript
代码运行次数:0
复制
    redis> HGET product id:10
    "{product_10_json}"
  • 获取所有产品列表
代码语言:javascript
代码运行次数:0
复制
    redis> HGETALL product
    1) "id:10"
    2) "{product_10_json}"
    3) "id:11"
    4) "{product_11_json}"
  • 删除项目产品列表:
代码语言:javascript
代码运行次数:0
复制
    redis> Hdel product id:10
    (integer) 1
    redis> HGETALL product
    1) "id:11"
    2) "{product_11_json}"
  • 要删除所有产品,只需删除相应的键
代码语言:javascript
代码运行次数:0
复制
    redis> del product
    (integer) 1

编辑:计数键中的项目数:

有什么命令可以让我计算总价值吗?类似产品有15个记录

你应该使用赫伦

代码语言:javascript
代码运行次数:0
复制
redis>HSET product product1 "Hello"
(integer) 1
redis> HSET product product2 "World"
(integer) 1
redis> HLEN product
(integer) 2
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57308747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档