Redis数据类型

本文介绍了Redis中的五种数据结构:字符串、列表、集合、有序集合和哈希表。重点讲解了每种数据结构的特点和应用场景,例如利用有序集合进行排序索引,利用哈希表存储对象来节省内存。

Redis是一个数据结构类型的服务器,不是单纯的key-value存储。Redis里面的键是二进制安全的(二进制安全是指数据在传输过程中保证数据的安全性,包括加密等),因此键的内容不应该包含空格或者换行符。比如”hello world”和”hello world\n”是错误的。

 

字符串类型

这是最简单的redis数据类型,在只使用这个数据类型的时候,Redis就和一个有持久存储功能的memcached服务器类似。在Redis中,值最大可以有1GB,因此可以将图片等内容都缓存进去。SET操作,GET操作是基本的存储和读取操作,INCR命令可以将值自增1.

 

List类型

Redis的List类型是使用双向链表存储的,因此不管是在List的头还是尾部插入数据,所消耗的时间的是固定的。

 

SET类型

Redis的SETs是没有排序的二进制字符串集,换种说法就是字符串的无序集合。因为它是通过哈希表来实现的,因此它的添加,删除,查找的时间复杂度都是O(1)。Set除了基本的添加删除操作之外,还存在集合的取并集,交集,差集。通过这些操作可以轻松实现SNS和BLOG的好友推荐,标签等功能。

 

Sorted set

和set一样是字符串的集合,不同的是每个元素都会关联一个double类型的score。实现使用的是skip list和hash table,skip list的实现使用的是双线链表。Score的主要作用是排序,因此 sorted set主要用作索引。

 

Hash

Redis的hash是string类型的field和value映射表,添加删除的时间复杂度是O(1)。适合用来存储对象,可以减少内存的使用。减少内存使用的原因是新建hash对象时开始使用zipmap来存储。

转载于:https://www.cnblogs.com/zxktxj/archive/2012/12/28/2836680.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值