redis 常用的数据类型
Redis 的数据类型主要有:
string:
字符串类型,可以包含任何数据。包括jpg图片或者序列化的对象。里面的incr方法可以实现网站计数器功能,每次访问一个就可以进行加1操作。降低了数据库的压力。
list:
是一个双向链表,通过push,pop操作从链表的头部或者尾部添加删除元素。
这使得list既可以用作栈,也可以用作队列。比如可以获取最新添加的10个商品,获取最新的登陆的10个信息,做商品的秒杀等等。都可以通过链表中的队列来实现,极大节省了各方面的资源。
hash:
hash数据类型是redis模仿数据库把一条记录信息给存储起来,这样可以把数据库中的每一条记录保存在hash中,作为缓存处理,非常接近于数据库的操作。
set :
set是string类型的无序集合。set集合类型除了基本的添加删除操作,其他有用的操作还包含集合的取并集(union),交集(intersection),差集(difference)。通过这些操作可以很容易的实现sns中的好友推荐功能。比如qq好友推荐、微博系统的关注关系使用
sorted set:
和set一样sorted set也是string类型元素的集合,不同的是每个元素都会关联一个权。通过权值可以有序的获取集合中的元素,它的适用场合如:获得热门帖子(回复量)信息,根据学生成绩排序获得信息等.
简单说下无序集合、有序集合、链表三者的主要区别:
set类型:集合类型、内部元素没有顺序,同一个集合没有重复元素
list链表类型:内部元素有彼此的先后顺序,同一个链表允许有重复元素
Sort set类型:排序集合类型,相比set类型有排序功能