Redis数据类型及操作详解

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

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


Redis数据类型及操作详解_第1张图片



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)栈

典型特点:先进后出

Redis数据类型及操作详解_第2张图片



lpush命令:从头部压入元素

Redis数据类型及操作详解_第3张图片


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


2)队列

特点:先进先出

Redis数据类型及操作详解_第4张图片


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

Redis数据类型及操作详解_第5张图片


4、set

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

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


以差集为例:

Redis数据类型及操作详解_第6张图片


sinter :交集

sunion:并集

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


5、sorted sets

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

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

Redis数据类型及操作详解_第7张图片


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

Redis数据类型及操作详解_第8张图片


你可能感兴趣的:(redis,数据类型)