redis的五种数据类型

Redis-五种数据类型

对于Redis 来说,他只能存储五种基本数据类型

在之前的版本中都是String,Hash,List,SortedSet(zSet),Map

而现在的新版本中String,Hash,List,SortedSet(zSet),Set

一、字符串String -----String Key-Value

  字符串是Redis中最常用的类型,是一个由字节组成的序列,他在Redis中是二进制安全的

这意味着该类型可以接受任何格式的数据。

Value最多可以容纳的数据长度为512MB

set key value

往key 中存入一个值(value)

获取键为key的值

  注意:redis中的Key和Value时区分大小写,命令不区分大小写,redis是单线程不适合储存大容量的数据

自增的value是可以转成数字的

二、散列Hash------key-filed-value

  相当于是一个key中存在多个map.Redis中的散列可以看成具有String key和String value的map

容器,可以将多个key-value存储到一个key钟。每一个Hash可以存储4294967295个键值对。

三、集合Set

  Redis的集合是无序不可重复的,此处的无序是数据不能重复。和列表一样,在执行插入和删除

以及判断是否存在某元素时,效率是很高的。集合最大的优势在于可以进行交集并集,差集操作。

Set可包含的最大元素数量是4294967295.

  应用场景:1.利用交集球共同好友。2.利用唯一性,可以统计反问网站的所有独立Ip。

3.好友推荐的时候根据tag求交集,大于某个threshold(临界值)就可以推荐。

四、列表List

  Redis的列表允许用户从序列的两端推入或者淡出元素,列表有多个字符串值组成的有序可重复的序列,

是链表结构,所以向列表两端添加元素的时间复杂度为0(1),获取越接近两端的元素速度就越

快。这意味着即使是一个有几千万个元素的列表,获取头部活尾部的10条记录也是极快的。List中可以

包含最大的元素数量是4294967295.

五、SortedSet(zSet)

  有顺序,不能重复!!此处的不能重复是索引为唯一的,数据却可以重复。和Set很像

都是字符串的集合,都不允许重复的成员出现在一个Set中。他们之间差别在于有序集合中每一个成员都会有一个

分数与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。尽管有序集合中的

成员必须是唯一的,但是分数却可以重复。

  应用场景:可以用于一个大型的在线游戏的几分排行榜,每当玩家的分数发生变化是,可以执行zadd

更新玩家的分数,此后在通过zrange获取几分top ten的用户信息

原文地址:https://www.cnblogs.com/xiaowangtongxue123/p/13180201.html