• Redis数据操作命令


    一、基本类型 String

      set name emmeet  意为存储一个key为name,值为emmeet的数据,一个简单的key-value方式存储(对一个key重复赋值,新的会覆盖上一个)

      取值则使用get name 获取这个key对应的值

      setex name 10 emmeet  EX指定键值的有效期,这个例子代表存在10秒,10秒之后再次获取name,会获得nil,空

      (nil是一个对象值,如果要把一个对象设置为空的时候就用nil;Nil是一个类对象的值,如果要把一个Class类型的对象设置为空的时候就用Nil;NULL是一个通用指针。)

      setnx name emmeet 意为存储前会判断这个key是否已存在,返回值为0或1, 0代表已存在,并且不会更改key的值,返回1,则代表这个key的值设置成功 (NX not exists)

      setrange key offset value 把一个key的值从下标第几位开始,替换成value

      mset key value [key value .......] 同时设置多个key-value

      mget key [key ......] 同时获得多个key的值

      msetnx 方法同上,但有一个区别,就是只要其中一个key已存在,就会返回0

      getset key value 意为设置一个新值,同时返回被覆盖的旧值

      getrange key start end 意为获取start下标-end下标之间的值

      incr key 递增,返回递增后的值

      incrby key increment 意为递增多少,并返回递增后的值

      decr decrby 递减,作用同递增

      append key value 意为在值后追加一个值,并返回追加后值的长度

      strlen key 意为查看值的长度

    二、Hash类型

      hash类型属于field-value,即属性对应值的方式存储,hash特别适合存储对象,将一个对象存储在hash类型中会占用更少的内存,并且存取整个对象更加方便

      hset key field value 基本的存储操作,key代表hash的名称,field属性名,value属性值,返回值为1或0, 1代表存储成功,存储时若hash不存在则先进行创建

      hget key field 获取值,key为hash表的名称,field则是需要获取的属性

      hsetnx key field value 判断hash表中的属性是否存在,返回值0或1, 0代表已存在

      hmset key field value [field value.....] 向一个hash表中存储多个属性和值

      hmget key field [field.....] 获取hash表中的多个值

      hinvrby key field increment 这个hash表中这个属性的值自增多少

      hexists key field 判断hash表中某个属性是否存在,返回值0或1

      hlen key 获取一个hash表中存在的属性的数量

      hdel key field [field....] 删除hash表中的属性,可同时删除多个,返回值为删除属性的数量

      hkeys key 返回一个hash表中所有的key

      hvals key 返回一个hash表中所有值

      hgetall key 获取hash表中所有field对应的value

      

    三、List类型

      list是一个链表结构,主要功能是push(存储数据)、pop(弹出,删除数据)、获取一个范围内的所有值,Redis的list类         型每个子元素都是string类型的双向链表,我可以通过push和pop操作从链表的头部或者尾部        添加删除元素,这样list既可以作为栈,又可以作为队列。

      栈和队列的区别,栈类似于一个烧杯一样的容器,第一个数据进入时会存放在最下方,第二个在第一个数据上方,取出的时候为先进后出,队列则类似于一个管道,数据排列一样,但取出时可以从尾部取出,就是先进先出

      lpush key value [value....] 从一个list的头部压入元素,key为list的名称,value则是需要存储的值,返回值为元素个数

      rpush key value [value....] 原理相同,区别在于从list的尾部压入,返回值为元素个数

      lrange key start stop 从一个list中取值,start和stop代表取值的范围,若是0 -1 代表取出所有值

      例:

        lpush myList 6 5 4 3 2 1 存入元素

        lrange myList 0 -1  取出值为 1 2 3 4 5 6

        因为存储使用lpush,从头部开始存入,所以依次存入 6 5 4 3 2 1 ,最后存入的在最上方,若使用rpush那每次都会将值存入list的尾部,最后存入的就在最后 

      linsert key BEFORE/AFTER pivot value 向一个list中间插入数据,B/A代表是在pivot的前面还是后面插入,value则是插入的值,插入成功后返回list的长度

      llen key 查看list的长度

      lpop key 从一个list的头部内弹出/删除一个元素,返回弹出元素的值

      rpop key 尾部弹出/删除,返回弹出元素的值

      lset key index value 将一个list内指定下标的元素替换为value

      lrem key count value 从一个list内删除count数量的与value相同的元素,返回值为删除的数量

      ltrim key start stop 保留list内从start下标到stop下标之内的元素,其余的会删除

      rpoplpush source destination 从source尾部弹出一个元素,并将其添加到destination的头部

      lindex key index 返回list内制定下标的值

  • 相关阅读:
    Win32 程序开发入门:一个最简单的Win32程序
    DirectShow 进行视频预览和录制
    DirectShow 获取音视频输入设备列表
    (原)关于人民币找零钱的问题
    (转)The C10K problem翻译
    (原)kenel开机logo的制作
    (原)关于udp的socket发送数据耗时的问题探讨
    (转)x264的一些参数设置对编码效率的影响
    (原)关于获取ffmpeg解析rtsp流sdp中带有sps,pps的情况
    (转)java 层调用Jni(Ndk) 持久化c c++ 对象
  • 原文地址:https://www.cnblogs.com/emmeet/p/7648932.html
Copyright © 2020-2023  润新知