您的位置:首页 > 数据库 > Redis

Redis数据类型及操作详解

2016-03-03 13:47 357 查看
Redis数据库,是nosql的一种。与传统关系型数据库(如mysql、sqlserver等)相比,他在处理大数据量上相当有优势,扩展性和可用性高,这是传统型数据库所达不到的。

Redis是一个key-value的存储系统,数据保存在内存中,速度自然很快。Redis支持的Value类型很多,也就是我们今天要说的数据类型。



1、string

最常用也最简单的数据类型,存放普通的key-value,虽然是String,但vlaue不仅仅只是字符串,也可以是数字。

来看一个简单的demo:

1)进入redis客户端



2)设置



3)获取



如果想看的更直观一些,可以在图形化工具中查看,db0中已经新建了一个“name”的key。



string类型key-value是一一对应的,如果新建的key值已经存在,则会覆盖原有值。

2、hash

hash类型的一大特点就是它可以方便存取整个对象。

如果不使用hash,我们可能采用序列化的方式来操作。将要存储的对象以序列化的方式存储,使用set命令,类似string的操作。

这种做法耦合性大,需要序列化/反序列化,适合数据量小的操作。

但如果数据量很大的话,该怎么办?



3、list

链表结构,提供push、pop等方法,可以实现栈、队列等数据结构方式。

1)栈

典型特点:先进后出



lpush命令:从头部压入元素



m1中的的元素one最先进入,最后被删除。

2)队列

特点:先进先出



使用rpush加入元素,lpop删除元素。



4、set

java基础——集合中就提到,set是一个元素不重复的无序集合。

常用操作:实现集合的差、交和并集。

以差集为例:



sinter :交集

sunion:并集

操作都很简单,就不一一列举了。

5、sorted sets

特点:set类型的升级版,该类型是有序的。

因为是有序的,在添加元素的时候需要指定顺序。



这几种数据类型相关的操作很多都是类似的,比如添加一个key的value值,在string中使用set命令,hash中是hset,set是sadd等等,只不过是命令的名字稍有不同罢了,掌握一种其他的都很容易的。这里,小编将这些基本操作整理了一下,突然发现redis的功能还不少呢。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: