【数据类型】

五种数据类型:

string:字符串,单引号或双引号表示

hash:键值对集合,键值都是字符串

list:字符串列表,顺序是添加顺序

set:字符串无序集合

zset:有序集合,按照添加顺序

【字符串】

SET key value

  将字符串值value关联到key。如果key已经持有其他值,SET就覆写旧值,无视类型。

  总是返回OK,因为SET不可能失败。

SETNX key value

  将key的值设为value,当且仅当key不存在。若给定的key已经存在,则SETNX不做任何动作。

  设置成功,返回1。设置失败,返回0

SETEX key seconds value

  将值value关联到key,并将key的生存时间设为seconds(以秒为单位)。如果key 已经存在,SETEX命令将覆写旧值。

  设置成功时返回OK。当seconds参数不合法时,返回一个错误。

SETRANGE key offset value

  将value从偏移量offset对应位置覆盖。如果offset超过字符长度用\x00补充。key不存在时value按空字符处理

  被SETRANGE修改之后,字符串的长度。

  

 

 MSET key value [key value ...]

   同时设置一个或多个key-value对。如果存在同名key则新值覆盖旧值。

   总是返回OK(因为MSET不可能失败)

MSETNX key value [key value ...]

  同时设置一个或多个key-value对,当且仅当key不存在。该语句如果存在同名key则新值覆盖旧值。该语句中key如果已存在则该语句不生效。

  当所有key都成功设置,返回1。失败返回0

  

 

 APPEND key value

  在key对应的字符串后面添加value

  返回追加后的字符串长度

GET key

  返回key对应的字符串值,如果key不存在返回特殊值nil

MGET key [key ...]

  返回所有key对应的值,如果某个key不存在返回特殊值nil

GETRANGE key start end

  返回key对应字符串区间[start,end]内的值,包含start和end,正序从0开始,逆序从-1开始

  

 

GETSET key value

  将给定key的值设为value,并返回key的旧值。没有旧值返回nil

STRLEN key

   返回key所储存的字符串值的长度。不存在的key返回0

DECR key

  将key中储存的数字值减一,并返回。如果key不存在,以0key的初始值,然后执行DECR操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

DECRBY key decrement

  将key所储存的值减去减量decrement,并返回。以0key的初始值,然后执行DECRBY操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

INCR key

  将key中储存的数字值增一,并返回。如果key不存在,以0key的初始值,然后执行INCR操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

INCRBY key increment

  将key所储存的值加上增量increment,并返回。如果key不存在,以0key的初始值,然后执行INCRBY操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

SETBIT key offset value

  将key对应字符串值指定偏移量上的比特位设置为value,返回该比特位原来的值。空白位用0填充。

GETBIT key offset

  返回key对应字符串值指定偏移量上比特位的值。key不存在或offset超过长度返回0。

Q1.如果字符串包含空格,引号可以使用不同引号区分

  set name "'james harden'"或set name '"james harden"'

【哈希表】

HSET key field value [fieldvalue]

  将key中字段filed值设为value,如果没有key就创建一个。如果field已存在则覆盖旧值

  返回设置成功field个数,field已存在进行新值覆盖旧值的不算。

HSETNX key field value

  将哈希表key中的域field的值设置为value,当且仅当域field不存在。

  设置成功返回1,field已存在返回0

HMSET key field value [field value ...]

  同时将多个field value(域-值)对设置到哈希表key中。key不存在创建,key存在field存在则覆盖

  成功返回OK,如果key存在不是hash则返回错误

HGET key field

  返回哈希表key中给定域field的值。key不存在field不存在返回nil

HMGET key field [field ...]

  按照field顺序返回对应字段内容

  

 

HGETALL key

  返回所有的field和value

  

 

 

 HDEL key field [field ...]

  删除哈希表key中的一个或多个指定域,不存在的域将被忽略。

   被成功移除的域的数量,不包括被忽略的域。

HLEN key

  返回哈希表key中域的数量。当key不存在时,返回0

HEXISTS key field

  查看哈希表key中,给定域field是否存在。

  存在返回1,key不存在或field不存在返回0

HINCRBY key field increment

  为哈希表key中的域field的值加上增量increment。increment为负数则进行递减。

  返回field修改后的value。key不存在则创建,field不存在默认0。如果filed对应不是数字字符则返回错误。

HKEYS key

  返回key中所有field,key不存在返回空表。

HVALS key

  返回哈希表key中的所有值。,key不存在返回空表。

【列表】

LPUSH key value [value ...]

  按照顺序将value依次插入表头

  返回列表长度。key不存在则创建,key不是列表类型返回错误

  

 

 

 LPUSHX key value

  将值value插入到列表key的表头,当且仅当key存在并且是一个列表。key不存在什么也不做。

  返回修改后列表长度  

  

 

 

 RPUSH key value [value ...]

  按照顺序将value依次插入表尾,key不存在则创建一个空列表。

  返回插入后的列表长度,key不是列表类型返回错误。

RPUSHX key value

  将value插入到key的表尾。当且仅当key时一个存在的列表。key不存在时,不执行任何操作

  返回修改后的key的长度

LPOP key

  移除并返回列表key的头元素。

  返回列表的头元素。当key不存在时,返回nil

RPOP key

  移除并返回列表key的尾元素。

  返回列表的尾元素。当key不存在时,返回nil

BLPOP key [key ...] timeout

  按照key顺序查找,返回第一个非空列表的key和表首元素。当列表为空时该命令进行阻塞知道等待超时或列表中有元素。

  

 

 

   

 

 

 BRPOP key [key ...] timeout

  按照key顺序查找,返回第一个非空列表的key和表尾元素。当列表为空时该命令进行阻塞知道等待超时或列表中有元素。

  假如在指定时间内没有任何元素被弹出,则返回一个nil和等待时长。

 LLEN key

  返回列表key的长度。key不存在返回0,key不是列表返回错误

LRANGE key start stop

  返回列表中[start,stop]的元素,正序从0开始,逆序从-1开始

LREM key count value

  count 0: 从表头开始向表尾搜索,移除与value相等的,共计count个元素。

  count < 0: 从表尾开始向表头搜索,移除与value相等的,共计-count个元素。

  count 0: 移除表中所有与value相等的值。

  返回被移除元素的数目。key不存在返回0

  

 

 LSET key index value

  将列表key下标为index的元素的值甚至为value

  操作成功返回OK。当index参数超出范围,或对一个空列表(key不存在)操作时,返回一个错误。

LTRIM key start stop

  列表只保留[start, stop]内的元素,其他元素删除掉。

  执行成功返回ok,key不是列表返回错误。

  

 

 LINDEX key index

  返回列表key中,下标为index的元素。key不存在返回错误,index超出返回返回nil

LINSERT key BEFORE|AFTER pivot value

  将value插入到值与pivot相同的元素之前或之后。

  没有找到pivot不进行任何操作返回-1。

  如果key不存在或为空列表返回0

  如果key不是列表返回错误。

  如果有多个pivot,则以第一个为标准。

  返回修改后的列表的长度。

  

 RPOPLPUSH source destination

  将source中最后一个元素移入为destination第一个元素

  返回操作的该元素,如果source为空则返回nil,不做任何操作

BRPOPLPUSH source destination timeout

  为阻塞版

  返回元素和时常,假如在指定时间内没有任何元素被弹出,则返回一个nil和等待时长。