redis五大数据类型总结:字符串、散列、列表、集合和有序集合

目录

  • 字符串类型(String)
  • 散列类型(Hash)
  • 列表类型(List)
  • 集合类型(Set)
  • 有序集合类型(SortedSet)
  • 其它命令

一、字符串类型(String)

1.介绍:

  字符串类型是 Redis 中最基本的数据类型,可以存储二进制数据、图片和 Json 的对象。

  字符串类型也是其他 4 种数据库类型的基础,其它数据类型可以说是从字符串类型中进行组织的,如:列表类型是以列表的形式组织字符串,集合类型是以集合的形式组织字符串。

2.命令:

【备注】包括 INCR 在内的所有 Redis 命令都是原子操作。

3.命令测试:

4.命名

建议:“对象类型:对象ID:对象属性”命名一个键,如:“user:1:friends”存储 ID 为 1 的用户的的好友列表。对于多个单词则推荐使用 “.” 进行分隔。

5.应用:

(1)访问量统计:每次访问博客和文章使用 INCR 命令进行递增;

(2)将数据以二进制序列化的方式进行存储。

二、散列类型(Hash)

1.介绍:

  散列类型采用了字典结构(k-v)进行存储。

  散列类型适合存储对象。可以采用这样的命名方式:对象类别和 ID 构成键名,使用字段表示对象的属性,而字段值则存储属性值。如:存储 ID 为 2 的汽车对象。

2.命令:

3.命令测试:

4.应用:

文章内容存储:

三、列表类型(List)

1.介绍:

  列表类型(list)可以存储一个有序的字符串列表,常用的操作是向两端添加元素。

  列表类型内部是使用双向链表实现的,也就是说,获取越接近两端的元素速度越快,代价是通过索引访问元素比较慢。

2.命令:

3.命令测试:

【解析】向列表的左边添加元素“1”,再依次加入“2”、“3”

然后:

在列表的右边依次加入两个元素“0”、“-1”:

4.应用:

(1)显示社交网站的新鲜事、热门评论和新闻等;

(2)当队列使用;

(3)记录日志。

四、集合(Set)

1.介绍:  

  字符串的无序集合,不允许存在重复的成员。

  多个集合类型之间可以进行并集、交集和差集运算。

2.命令:

3.图解交、并、差集:

4.命令测试:

5.应用:

(1)文章标签。

五、有序集合(SortedSet)

1.介绍:

  在集合类型的基础上添加了排序的功能。

2.命令:

3.命令测试:

4.应用:

(1)点击量排序

六、其他命令

1.获得符合规则的键名列表

KEYS pattern

pattern 支持 glob 风格通配符:

2.判断一个键是否存在

EXISTS key

如果键存在则返回整数类型 1,否则返回 0。

3.删除键

DEL key [key ...]

可以删除一个或者多个键,返回值是删除的键的个数

4.获得键值的数据类型

TYPE key

 

七、位图:某些场景非常高效

1.核心命令

setbit key offset value
getbit key offset
bitcount key [start end] #start 和 end是字节单位的索引,不是offset位索引
bitpos key 0|1 [start] [end]
bitop AND|OR|NOT|XOR destkey key [key ...]

#举例
bitcount testkey 0 0 表示从索引0个字节到索引0个字节,就是第一个字节的统计。
bitcount testkey 0 -1 等同于BITCOUNT testkey。

 

posted @ 2018-11-08 14:10  小匡程序员  阅读(291)  评论(0编辑  收藏  举报