KV型内存数据库Redis(2)

类似地有DECR命令,用于将存储的数字减1。

INCRBY,DECRBY INCRBY key value INCRBY count 2 DECRBY count 3

将key所储存的值加上增量value, 返回操作后的值。value可以为0或负值。

若值包含错误的类型,或字符串类型的值不能表示为整数,那么返回一个错误。

类似地有DECRBY用于将存储的数字减去给定值。

INCRBYFLOAT INCRBYFLOAT key value INCRBYFLOAT one 1.23

将key所储存的值加上浮点增量value, 返回操作后的值。value可以为0或负值。

若值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

目前版本的Redis中没有DECRBYFLOAT指令,可以使用加负数进行减运算。

key

本节介绍对key通用的操作。

DEL DEL key [key ...] DEL one two

删除给定的一个或多个key, 不存在的key将会忽略返回被删除的key的数量。

KEYS KEYS pattern KEYS *

查找所有符合给定模式pattern的key:

KEYS *: 匹配数据库中所有key 。

KEYS h?llo: 匹配hello,hallo 和 hxllo 等。

KEYS h*llo: 匹配 hllo 和 heeeeello 等。

KEYS h[ae]llo: 匹配 hello 和 hallo,但不匹配 hillo 。

EXISTS EXISTS key EXISTS one

检查给定key是否存在, 若存在返回 1,否则返回 0。

RENAME RENAME key newkey RENAME one ONE

将key改名为newkey, 当newkey已经存在时,RENAME命令将覆盖旧值。成功时返回OK,失败时返回一个错误。

当key和newkey相同,或者key不存在时,返回一个错误。

RENAMENX RENAMENX key newkey RENAMENX one ONE

当newkey不存在时, 将key改名为newkey。成功时返回1,若newkey已存在返回0。

EXPIRE EXPIRE key seconds EXPIRE one 1000

为给定key设置生存时间(TTL),当key过期时(生存时间为0),它会被自动删除。

使用SET命令等覆盖一个键值对将会移除TTL, 但是INCR,LPUSH, HSET等命令不会修改生存时间。

RENAME命令不会修改生存时间,若RENAME key key2命令使得key覆盖了带有TTL的key2, 那么新的key2的生存时间设置和原来的key相同。

PEXPIRE命令和EXPIRE命令的作用类似,但是它以毫秒为单位设置key的生存时间。

EXPIREAT EXPIREAT key timestamp

EXPIREAT的作用和EXPIRE类似,都用于为key设置生存时间。

不同在于EXPIREAT命令接受的时间参数是UNIX时间戳。

PEXPIREAT和EXPIREAT命令类似,但它的参数是以毫秒为单位的unix时间戳。

TTL TTL key

以秒为单位,返回给定 key 的剩余生存时间,当key不存在时,返回-2, 当key存在但没有设置剩余生存时间时,返回-1。

PTTL命令类似于TTL命令,但它以毫秒为单位返回key的剩余生存时间。

PERSIST PERSIST key

移除给定key的生存时间设置,使其成为永久的key。

当生存时间移除成功时,返回1。如果key不存在或key没有设置生存时间,返回0。

list

列表(list)是一个线性容器,可以根据下标访问元素。

Redis中list的元素只能是字符串,不支持其它类型。

LPUSH LPUSH key value1 value2 LPUSH arr a b c

将一个或多个值value插入到列表key的头部(左侧),返回操作后列表的长度。

如果key不存在,将会创建一个空列表并执行LPUSH操作,当key存在但不是列表类型时,返回一个错误。

对空列表arr执行LPUSH arr a b c指令后,arr的内容为c b a。相当于原子性的执行了LPUSH arr a, LPUSH arr b, LPUSH arr c三条指令。

RPUSH RPUSH key value1 value2 RPUSH arr a b c

将一个或多个值value插入到列表key的尾部(左侧),返回操作后列表的长度。

如果key不存在,将会创建一个空列表并执行RPUSH操作,当key存在但不是列表类型时,返回一个错误。

对空列表arr执行RPUSH arr a b c指令后,arr的内容为a b c。相当于原子性的执行了RPUSH arr a, RPUSH arr b, RPUSH arr c三条指令。

LLEN LLEN key

返回列表的长度,若key不存在返回0, 若key指向其它类型则返回一个错误。

LRANGE LRANGE key start stop LRANGE arr 0 -1

返回列表key中指定区间内的元素,区间以偏移量start和stop指定。

下标以0为底,即0表示列表中的第一个元素, 1表示第二个元素。也可以使用负数下标,-1表示最后一个元素, -2表示倒数第二个元素。

stop下标也在LRANGE命令的取值范围之内(闭区间),LRANGE arr 0 2会返回下标为0,1,2的三个元素。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e09f70bdc9085347e509b9c215eb523f.html