keys pattern
exists key
del key
type key
set key value
get key
字符串类型可以存储任何形式的字符串,当存储的字符串是整数形式时,redis提供了一个使用的命令INCR,其作用是让当前键值递增,并返回递增后的值,用法为:
incr num
当要操作的键不存在时会默认键值为0,所以第一次递增后的结果是1.当键值不是整数时redis会提示错误。
incrby key increment
decrby key decrement
Incrbyfloat key increment
append key value
strlen key
mget key [key…]
mset key value[key value …]
getbit key offset
setbit key offset value
bitcount key [start] [end]
bitop operation destkey key [key …]
散列类型适合存储对象:使用对象类别和ID构成键名,使用字段表示对象的属性,而字段值则只存储属性值。
hset key fieldvalue
hget key field
hmset key fieldvalue [key field value]
hgetall key
hset命令的方便之处在于不区分插入和更新操作,这意味着修改数据时不用事先判断字段是否存在来决定要执行的是插入操作还是更新操作。当执行的是插入操作时hset命令会返回1,当执行的是更新操作时hset返回0.更进一步当键本身不存在时,hset命令还会自动建立它。
hexists key field
hexists命令用来判断一个字段是否存在,如果存在返回1,否则返回0.
hsetnx key field value
hsetnx命令与hset命令类似,区别在于如果字段已经存在,hsetnx命令将不执行任何操作。
hincrby key field increment
hincrby命令与incrby类似,可以使字段值增加指定的整数。散列类型没有hincr命令,但是可以通过hincrby key field 1来实现。
hdel key field [field …]
hdel命令可以删除一个或多个字段,返回值是被删除的字段个数。
hkeys key
hvals key
hlen key
列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段。
列表类型内部是使用双向列表实现的,所以向列表两端添加元素的时间复杂度为O(1),获取越接近两端的元素速度就越快。这意味着及时是一个有几千万元素的列表,获取头部或尾部的10条记录也是挺快的。
不过使用链表的代价是通过索引访问元素比较慢,这种特性使列表类型能非常快速地完成数据库难以应付的场景:如社交网站的新鲜事,我们关心的只是最新的内容,使用列表类型存储,即使新鲜事的总数达到几千万个,获取其中最新的100调数据也是极快的。同样因为在两端插入记录的事件负责度是O(1),列表类型也适合用来记录日志,可以保证新日志的速度不会收到已有入职数量的影响。
lpush key value [value …]
rpush key value [value …]
lpush命令用来想列表左边增加元素,返回值表示增加元素后列表的长度。
rpush命令用来想列表右边增加元素,返回值表示增加元素后列表的长度。
lpop key
rpop key
lpop命令可以从列表左边弹出一个元素。Lpop命令执行分两步操作:第一步是将列表左边的元素从列表中移除,第二步是返回被移除的元素值。
rpop命令从列表右边弹出一个元素。
llen key
当键不存在时llen会返回0;
llen命令的功能类似SQL语句SELECTCOUNT(*) FROM table_name,但是llen的时间复杂度为O(1),使用时redis会直接读取现成的值,而不需要像部分关系数据库那样需要遍历一遍数据表来统计条目数量。
lrange key start stop
lange 命令是列表类型最常用的命令之一,它能够获得列表中的某一片段。Lrange命令将返回索引从start到stop之间的所有元素。Redis的列表起始索引为0.
Lrem key count value
Lrem命令会删除列表中前count个值为value的元素,返回值是实际删除的元素个数。根据count值的不同,lrem命令的执行方式会略有差异:
当count > 0时lrem命令会从列表左边开始删除前count个值为value的元素;
当count < 0时lrem命令会从列表右边开始删除前|count|个值为value的元素;
当count = 0 时lrem命令会删除所有值为value的元素。
lindex key index
lset key index value
ltrim key start end
Linsert key before|after pivot value
linsert 命令首先会在列表中从左到右查找值为pivot的元素,然后根据第二个参数是before还是after来决定将alue插入到该元素的前面还是后面。
Linsert命令的返回值是插入后列表的元素个数。