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内制定下标的值

 

posted on 2017-10-11 09:21  emmeet  阅读(315)  评论(0编辑  收藏  举报

导航