字符串类型(String)
字符串类型是 Redis 中最基本的数据类型,可以存储二进制数据、图片和 Json 的对象。
字符串类型也是其他 4 种数据库类型的基础,其它数据类型可以说是从字符串类型中进行组织的,如:列表类型是以列表的形式组织字符串,集合类型是以集合的形式组织字符串。
命名
建议:“对象类型:对象ID:对象属性”命名一个键,如:“user:1:friends”存储 ID 为 1 的用户的的好友列表。对于多个单词则推荐使用 “.” 进行分隔。
应用:
- 访问量统计:每次访问博客和文章使用 INCR 命令进行递增;
- 将数据以二进制序列化的方式进行存储。
散列类型(Hash)
散列类型采用了字典结构(k-v)进行存储。
散列类型适合存储对象。可以采用这样的命名方式:对象类别和 ID 构成键名,使用字段表示对象的属性,而字段值则存储属性值。
如:存储 ID 为 2 的汽车对象
hset car:2 color "白色" name "奥迪" price 90hset post:2 title "Redis 学习笔记" content "Redis 是一个高性能的数据库"
列表类型(List)
列表类型(list)可以存储一个有序的字符串列表,常用的操作是向两端添加元素。
列表类型内部是使用双向链表实现的,也就是说,获取越接近两端的元素速度越快,代价是通过索引访问元素比较慢
应用
- 显示社交网站的新鲜事、热门评论和新闻等;
- 推特的粉丝列表,关注列表;
- 当队列使用;
- 记录日志。
集合(Set)
字符串的无序集合,不允许存在重复的成员。
多个集合类型之间可以进行并集、交集和差集运算。
应用
- 文章标签
- 社交中共同关注的人
- 你关注的人也关注了哪些人
有序集合(SortedSet)
在集合类型的基础上添加了排序的功能。
应用
- 排行榜