未分类

如何进行Redis设计

概述

redis共只有五种数据类型,比较简单。

五种数据类型

string

  • 最简单的。就是key-value。
  • 比如每个用户的年度报告数据,key是用户,value是报告数据。
  • value是字符串,可以用json存储很多的年度报告数据
  • 数据多,为了节省内存,可以使用protobuf序列化

set

  • set不重复、无序
  • 比如要存储手机号码的号段
  • key就叫号段,value是多个号段的值

list

  • list有序、可以重复
  • 一般从两边取,如果从中间取效率很低,不要这么用
  • 比如存储手机验证码,每次取完,就从内存删除了
  • key是手机号码,value是验证码,可以试多个验证码
  • 放和取,要约定好从左边还是右边,要一致

hash

  • 比较好用,因为支持复杂一点的数据结构了
  • value可以存储多个key-value
  • 比如存储用户抢红包的数据
  • key是用户号,value里有两个数据
  • key1是红包金额key,value1是红包金额
  • key2是秒杀到红包的时间key,value2是时间

zset

  • 最复杂,最不常用,也相对最难用
  • 有序的set
  • 在set的基础上增加了分值,表示顺序
  • 比如秒杀了红包后要在界面滚动显示
  • key是秒杀红包用户key,value是秒杀到红包的用户号,先秒杀的分值是1,然后是2、3、4等等
  • 这样滚动显示就可以排序了

命名规范

  • 一般用:分隔,也可以用.分隔
  • 但我有时候喜欢用_分隔,虽然不规范,但是鼠标双击可以把整个key都复制了:)

分享到