zoukankan      html  css  js  c++  java
  • Redis数据类型及操作详解

        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的功能还不少呢。



  • 相关阅读:
    Happy New Year
    CF1450G
    理希的NOI2020退役记
    luoguP4859 已经没有什么好害怕的了(二项式反演)
    知识点简单总结——二项式反演
    bzoj4671 异或图(斯特林反演,线性基)
    知识点简单总结——斯特林数、斯特林反演
    uoj450 【集训队作业2018】复读机(生成函数,单位根反演)
    有标号DAG计数(生成函数)
    知识点简单总结——单位根反演
  • 原文地址:https://www.cnblogs.com/saixing/p/6730231.html
Copyright © 2011-2022 走看看