1.数据类型

redis学习入门

Tags: redis


redis中的数据结构

关于keys的几条规则 (没有限制中的限制)

  • 太长的键值不是个好主意,例如1024字节的键值就不是个好注意,不仅消耗内存,而且在数据中查找这类键值的计算成本很高。
  • 太短的键值通常也不是好主意,使用“u:1000:pwd”代替“user:1000:password”没有什么问题,但后者更易阅读。根据业务需求,如果预计此类keys的数据量很大,使用简化的第一种方案也是不错的选择。
  • 最好坚持一种模式。例如:”object-type🆔field”就是个不错的注意,像这样”user:1000:password”。我喜欢对多单词的字段名中加上一个点,就像这样:”comment🔢reply.to”。

  1. 字符串(strings)

普通的k-v键值对

{
    key1:value,
    key2:value,
    ....
}
  1. 列表(List)

这种数据结构基于Linked List实现,常用来做队列
优点:插入时复杂度相同
缺点:按索引读取慢

{
    key1:[value1,value2,value3,...],    //json格式只能使用数组方式表示
    key2:[value1,value2,value3,...],
    ...
}
  1. 散列(hash)

嵌套的k-v对

{
    key1:{
            key1:value1,
            key2:value2,
            ...
        },
    key2:{
            key1:value1,
            key2:value2,
            ...
        },
    ...
}
  1. 集合(sets)

value是集合类型,元素值都是唯一的,redis会自动去重,所有的value是无序排列的

{
    key1:[value1,value3,value2],    //集合里面的元素不能重复
    key2:[value3,value2,value1],
    ...
}
  1. 有序集合(Sorted sets)

value是集合类型,元素值都是唯一的,redis会自动去重,所有的value是有序排列的

{
    key1:[value1,value2,value3],    //集合里面的元素不能重复,且有序
    key2:[value1,value3,value3],
    ...
}
posted @ 2017-03-20 09:06  Net_win  阅读(134)  评论(0编辑  收藏  举报