Redis常用命令(2)——String

2017-02-09 From 程序之心 By 丁仪

APPEND

格式:APPEND key value

作用:在key的键值后追加value,如果key不存在,则创建key,并存入value。

返回值:追加value后的字符串长度。

示例:

192.168.1.100:6379> set testkey hello

OK

192.168.1.100:6379> append testkey " word"

(integer) 10

192.168.1.100:6379> get testkey

"hello word"


BITCOUNT

格式:BITCOUNT key [start] [end]

作用:计算key的值中比特位1的个数。可以用start和end指定统计的开始和结束位置。

返回值:比特位1的个数。如果key不存在,返回0。

示例:

192.168.1.100:6379> set testkey 5

OK

192.168.1.100:6379> bitcount testkey

(integer) 4

192.168.1.100:6379> bitcount testkey 0 1

(integer) 4

192.168.1.100:6379> bitcount testkey 0 2

(integer) 4

192.168.1.100:6379> bitcount testkey 1 2

(integer) 0


BITOP

格式:BITOP operation destkey key [key ...]

作用:对一个或多个字符串key进行位操作,操作结果保存在 destkey 中。operation 有四种类型

AND 进行按位与操作;

OR 进行按位或操作;

XOR 进行按位异或操作;

NOT 进行按位取反操作。

如果其中一个key的字符串长度较短,则缺少的部分按0处理。

返回值:destkey 字符串的长度。

示例:

192.168.1.100:6379> set testkey1 E

OK

192.168.1.100:6379> set testkey2 F

OK

192.168.1.100:6379> bitop and testkey3 testkey1 testkey2

(integer) 1

192.168.1.100:6379> get testkey3

"D"

192.168.1.100:6379> bitop or testkey3 testkey1 testkey2

(integer) 1

192.168.1.100:6379> get testkey3

"G"

192.168.1.100:6379> bitop xor testkey3 testkey1 testkey2

(integer) 1

192.168.1.100:6379> get testkey3

"\x03"

192.168.1.100:6379> bitop not testkey3 testkey1

(integer) 1

192.168.1.100:6379> get testkey3

"\xba"


DECR

格式:DECR key

作用:对给定的key进行减一操作。如果key不存在,则先创建key,初始化为0,再进行减一操作。

返回值:减一后的值。如果key的值不能表示为数字,则返回错误。

示例:

192.168.1.100:6379> set testkey 9

OK

192.168.1.100:6379> decr testkey

(integer) 8


DECRBY

格式:DECRBY key decrement

作用:对给定的key进行减decrement操作。如果key不存在,则先创建key,初始化为0,再进行减decrement操作。

返回值:减decrement后的值。如果key的值不能表示为数字,则返回错误。

示例:

192.168.1.100:6379> set testkey 9

OK

192.168.1.100:6379> decrby testkey 3

(integer) 6


GET

格式:GET key

作用:获取key的字符串值。如果key不存在,返回nil。

返回值:key的字符串值。如果key的值不是字符串类型,返回错误。


GETBIT

格式:GETBIT key offset

作用:获取key指定bit位的值。

返回值:key指定bit位的值。如果offset超出了key的值的范围,或key不存在,则返回0。

示例:2的ASCII码为00110010

192.168.1.100:6379> set testkey 2

OK

192.168.1.100:6379> getbit testkey 0

(integer) 0

192.168.1.100:6379> getbit testkey 1

(integer) 0

192.168.1.100:6379> getbit testkey 2

(integer) 1


GETRANGE

格式:GETRANGE key start end

作用:获取key的值的子字符串,由start、end设置截取范围。如果偏移量为负数,表示从最后开始计数,可以用-1表示最后一个字符。如果end超出了key的值的范围,则以最后一个字符作为结束。

返回值:子字符串。

示例:

192.168.1.100:6379> set testkey "hello"

OK

192.168.1.100:6379> getrange testkey 0 1

"he"

192.168.1.100:6379> getrange testkey 2 3

"ll"


GETSET

格式:GETSET key value

作用:设置key的值为value,并返回key的旧值。

返回值:key的旧值。如果key不存在,返回nil。


INCR

格式:INCR key

作用:对给定的key进行加一操作。如果key不存在,则先创建key,初始化为0,再进行加一操作。

返回值:加一后的值。如果key的值不能表示为数字,则返回错误。

示例:

192.168.1.100:6379> set testkey 5

OK

192.168.1.100:6379> incr testkey

(integer) 6


INCRBY

格式:INCRBY key increment

作用:对给定的key进行加increment操作。如果key不存在,则先创建key,初始化为0,再进行加increment操作。

返回值:加increment后的值。如果key的值不能表示为数字,则返回错误。

示例:

192.168.1.100:6379> set testkey 5

OK

192.168.1.100:6379> incrby testkey 5

(integer) 10


INCRBYFLOAT

格式:INCRBYFLOAT key increment

作用:对给定的key进行加increment操作。如果key不存在,则先创建key,初始化为0,再进行加increment操作。计算结果最多只能表示小数点的后十七位。increment可以采用指数符号e,如2e5。

返回值:加increment后的值。如果key的值或increment不能表示为浮点数,则返回错误。

示例:

192.168.1.100:6379> set testkey 5

OK

192.168.1.100:6379> incrbyfloat testkey 5.23

"10.23"


MGET

格式:MGET key [key ...]

作用:返回一个或多个key的值。如果有的key不存在,相应的返回值为nil。

返回值:包含多个key的值的列表。

示例:

192.168.1.100:6379> mget testkey testkey2 testkey3

1) "10.23"

2) "F"

3) "\xba"


MSET

格式:MSET key value [key value ...]

作用:同时设置一个或多个key的值。

返回值:OK

示例:

192.168.1.100:6379> mset testkey 1 testkey2 2

OK


MSETNX

格式:MSETNX key value [key value ...]

作用:当所有key都不存在时同时设置一个或多个key的值。如果有某个key存在,则不会执行任何设置操作。原子性操作,要么都设置值,要么都不设置值。

返回值:如果所有key都设置成功,返回1。如果有key设置出错,返回0。

示例:

192.168.1.100:6379> msetnx testkey 1 testkey2 2

(integer) 1

192.168.1.100:6379> msetnx testkey 1 testkey2 2

(integer) 0


PSETEX

格式:PSETEX key milliseconds value

作用:设置key的值为value,过期时间为milliseconds毫秒。

返回值:成功时返回 OK

示例:psetex testkey 10000 ff


SET

格式:SET key value [EX seconds] [PX milliseconds] [NX|XX]

作用:设置key的值为value。

EX seconds 设置过期时间为seconds秒;

PX milliseconds 设置过期时间为milliseconds毫秒;

NX 只有key不存在时,才进行设置操作;

XX 只有key存在时,才进行设置操作。

返回值:成功返回OK

示例:

192.168.1.100:6379> set testkey ff EX 5 NX

OK

192.168.1.100:6379> get testkey

"ff"

192.168.1.100:6379> set testkey ff EX 5 XX

OK

192.168.1.100:6379> set testkey ff EX 5 NX

(nil)

192.168.1.100:6379> get testkey

(nil)

192.168.1.100:6379> set testkey ff EX 5 XX

(nil)


SETBIT

格式:SETBIT key offset value

作用:设置key的值的offset比特位为value。如果offset超出了key的值的范围,则中间位置补零。

返回值:offset比特位的旧值。

示例:

192.168.1.100:6379> set testkey 5

OK

192.168.1.100:6379> setbit testkey 7 0

(integer) 1

192.168.1.100:6379> get testkey

"4"

192.168.1.100:6379> setbit testkey 7 1

(integer) 0

192.168.1.100:6379> get testkey

"5"


SETEX

格式:SETEX key seconds value

作用:设置key的值为value,过期时间为 seconds 秒。

返回值:成功时返回 OK

示例:setex testkey 10 ff


SETNX

格式:SETNX key value

作用:如果key不存在,则创建key值为value。如果key存在,则不操作。

返回值:成功返回1,失败返回0。

示例:

192.168.1.100:6379> setnx testkey ff

(integer) 1

192.168.1.100:6379> setnx testkey ff

(integer) 0

192.168.1.100:6379> del testkey

(integer) 1

192.168.1.100:6379> setnx testkey ff

(integer) 1


SETRANGE

格式:SETRANGE key offset value

作用:从key的值的offset偏移开始使用value覆盖字符串。如果offset超出了key的值的范围,则中间位置补零。

返回值:修改后的字符串的长度。

示例:

192.168.1.100:6379> set testkey hellohello

OK

192.168.1.100:6379> setrange testkey 5 word

(integer) 10

192.168.1.100:6379> get testkey

"hellowordo"


STRLEN

格式:STRLEN key

作用:返回字符串的长度。

返回值:字符串的长度。如果key不存在返回0;如果key不是字符串类型,返回错误。

示例:

192.168.1.100:6379> get testkey

"hellowordo"

192.168.1.100:6379> strlen testkey

(integer) 10

本文来源:程序之心,转载请注明出处!

本文地址:https://chengxuzhixin.com/blog/article/200010.html

发表感想

© 2016 - 2022 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号