window版本就直接:点击`
redis-cli.exe
`linux版本就是启动服务就可以了,命令如下
redis-cli
说明
语法
redis 127.0.0.1:6379> SET KEY_NAME VALU
redis 127.0.0.1:6379> GET KEY_NAME
实例
# 对不存在的键进行设置
redis 127.0.0.1:6379> SET key "k1" "v2"
OK
redis 127.0.0.1:6379> GET "k1"
"va"
# 对已存在的键进行设置
redis 127.0.0.1:6379> SET "k2" "v2-new"
OK
redis 127.0.0.1:6379> GET "k2"
"v2-new"
# 对不存在的键进行获取
127.0.0.1:6379> get "k1"
(nil)
# 对已存在的键进行设置
127.0.0.1:6379> get "k1"
"v1"
说明
语法
redis 127.0.0.1:6379> GETRANGE KEY_NAME start end
实例
#对设置的字符串进行截取
127.0.0.1:6379> set 'key1' '123456'
OK
127.0.0.1:6379> getrange 'key1' 1 2
"23"
127.0.0.1:6379> getrange 'key1' 0 1
"12"
说明
-Redis Getset 命令用于设置指定 key 的值,并返回 key 的旧值。
语法
redis 127.0.0.1:6379> GETSET KEY_NAME VALUE
实例
# 没有旧值,返回 nil
127.0.0.1:6379> get "kay1"
(nil)
127.0.0.1:6379> get "key1"
"123456"
# 有旧值,返回旧值
127.0.0.1:6379> getset "key1" 654321
"123456"
127.0.0.1:6379> getset "key2" 654321
(nil)
127.0.0.1:6379> getset "key2" 121212
"654321"
#其实就是两个命令前后执行了
说明
-Redis Getbit 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
语法
redis 127.0.0.1:6379> GETBIT KEY_NAME OFFSET
实例
# 字符串值指定偏移量上的位(bit)。
# 当偏移量 OFFSET 比字符串值的长度大,或者 key 不存在时,返回 0 。
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> exists bit
(integer) 0
127.0.0.1:6379> getbit bit 10086
(integer) 0
127.0.0.1:6379> setbit bit 10086 1
(integer) 0
127.0.0.1:6379> getbit bit 10086
(integer) 1
说明
-Redis Mget 命令返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。
语法
redis 127.0.0.1:6379> MGET KEY1 KEY2 .. KEYN
实例
127.0.0.1:6379> set key1 "hello"
OK
127.0.0.1:6379> set key2 "world"
OK
127.0.0.1:6379> mget key1 key2
1) "hello"
2) "world"
127.0.0.1:6379> mget key1 key2 key3
1) "hello"
2) "world"
3) (nil)
说明
-Redis Setbit 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
语法
redis 127.0.0.1:6379> Setbit KEY_NAME OFFSET
实例
127.0.0.1:6379> setbit bit 10086 1
(integer) 0
127.0.0.1:6379> getbit bit 10086
(integer) 1
# bit 默认被初始化为0
127.0.0.1:6379> getbit bit 100
(integer) 0
说明
-Redis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。
语法
redis 127.0.0.1:6379> SETEX KEY_NAME TIMEOUT VALUE
实例
127.0.0.1:6379> setex mykey 60 redis
OK
127.0.0.1:6379> ttl mykey
(integer) 51
127.0.0.1:6379> get mykey
"redis"
127.0.0.1:6379> ttl mykey
(integer) 40
127.0.0.1:6379> ttl mykey
(integer) 31
127.0.0.1:6379> get mykey
"redis"
说明
-Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值
语法
redis 127.0.0.1:6379> SETNX KEY_NAME VALUE
实例
# key1 不存在
127.0.0.1:6379> exists key1
(integer) 0
# 设置key1 设置
127.0.0.1:6379> setnx key1 "value1"
(integer) 1
# 再次设置value 失败
127.0.0.1:6379> setnx key1 "value2"
(integer) 0
# 获取到key1的值,发现没有被覆盖
127.0.0.1:6379> get "key1"
"value1"
说明
-Redis Setrange 命令用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。
语法
redis 127.0.0.1:6379> SETRANGE KEY_NAME OFFSET VALUE
实例
127.0.0.1:6379> set key1 "hello girls"
OK
127.0.0.1:6379> setrange key1 6 redis
(integer) 11
127.0.0.1:6379> get key1
"hello redis"
127.0.0.1:6379>
说明
-Redis Strlen 命令用于获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。
语法
redis 127.0.0.1:6379> STRLEN KEY_NAME
实例
# 设置一个key value
127.0.0.1:6379> set key1 "hello world"
OK
127.0.0.1:6379> strlen key1
(integer) 11
# 不存在的key value 可以看到 key2的长度为零
127.0.0.1:6379> get key2
(nil)
127.0.0.1:6379> strlen key2
(integer) 0
说明
-Redis Mset 命令用于同时设置一个或多个 key-value 对
语法
redis 127.0.0.1:6379> MSET key1 value1 key2 value2 .. keyN valueN
实例
127.0.0.1:6379> mset key1 val1 key2 val2
OK
127.0.0.1:6379> keys *
1) "key1"
2) "key2"
127.0.0.1:6379> get key1
"val1"
127.0.0.1:6379> get key2
"val2"
说明
-Redis Msetnx 命令用于所有给定 key 都不存在时,同时设置一个或多个 key-value 对。
语法
redis 127.0.0.1:6379> MSETNX key1 value1 key2 value2 .. keyN valueN
实例
127.0.0.1:6379> MSETNX rmdbs "MySQL" nosql "MongoDB" key-value-store "redis"
(integer) 1
127.0.0.1:6379> MGET rmdbs nosql key-value-store
1) "MySQL"
2) "MongoDB"
3) "redis"
127.0.0.1:6379> MSETNX rmdbs "Sqlite" language "python"
(integer) 0
# 因为 MSET 是原子性操作,language 没有被设置 redis是单线程
127.0.0.1:6379> EXISTS language
(integer) 0
127.0.0.1:6379> GET rmdbs
"MySQL"、
说明
-Redis Psetex 命令以毫秒为单位设置 key 的生存时间。
语法
redis 127.0.0.1:6379> PSETEX key1 EXPIRY_IN_MILLISECONDS value1
实例
127.0.0.1:6379> psetex key1 100 hello
OK
127.0.0.1:6379> pttl key1
100
127.0.0.1:6379> pttl key1
(integer) -2
说明
-Redis Incr 命令将 key 中储存的数字值增一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
语法
redis 127.0.0.1:6379> INCR KEY_NAME
实例
127.0.0.1:6379>
127.0.0.1:6379> set num 100
OK
127.0.0.1:6379> incr num
(integer) 101
127.0.0.1:6379> get num
"101"
说明
-Redis Incrby 命令将 key 中储存的数字加上指定的增量值。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
语法
redis 127.0.0.1:6379> INCRBY KEY_NAME INCR_AMOUNT
实例
127.0.0.1:6379> set num 50
OK
127.0.0.1:6379> incrby num 10
(integer) 60
127.0.0.1:6379> get num
"60"
# 不存在key的时候 就是从0开始
127.0.0.1:6379> exists countNum
(integer) 0
127.0.0.1:6379> incrby countNum 30
(integer) 30
127.0.0.1:6379> get countNum
"30"
说明
-Redis Incrbyfloat 命令为 key 中所储存的值加上指定的浮点数增量值。
如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作。
语法
redis 127.0.0.1:6379> INCRBYFLOAT KEY_NAME INCR_AMOUNT
实例
127.0.0.1:6379> set mykey 10.50
OK
127.0.0.1:6379> incrbyfloar mykey 0.1
(error) ERR unknown command 'incrbyfloar'
127.0.0.1:6379> incrbyfloat mykey 0.1
"10.6"
127.0.0.1:6379> set mykey1 314e-2
OK
127.0.0.1:6379> get mykey1
"314e-2"
127.0.0.1:6379> incrbyfloat mykey1 0
"3.14"
127.0.0.1:6379> set mykey2
(error) ERR wrong number of arguments for 'set' command
127.0.0.1:6379> set mykey2 3
OK
127.0.0.1:6379> incrbyfloat mykey2 1.1
"4.1"
127.0.0.1:6379> set mykey3 3.0
OK
127.0.0.1:6379> get mykey3
"3.0"
127.0.0.1:6379> incrbyfloat mykey3 1.000000000
"4"
127.0.0.1:6379> get mykey3
"4"
说明
-Redis Decr 命令将 key 中储存的数字值减一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
语法
redis 127.0.0.1:6379> DECR KEY_NAME
实例
127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> decr num 10
(error) ERR wrong number of arguments for 'decr' command
127.0.0.1:6379> decr num
(integer) 9
127.0.0.1:6379> exists count
(integer) 0
127.0.0.1:6379> decr count
(integer) -1
说明
-Redis Decrby 命令将 key 所储存的值减去指定的减量值。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
语法
redis 127.0.0.1:6379> DECR KEY_NAME
实例
127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> decr num 10
(error) ERR wrong number of arguments for 'decr' command
127.0.0.1:6379> decr num
(integer) 9
127.0.0.1:6379> exists count
(integer) 0
127.0.0.1:6379> decr count
(integer) -1
说明
-Redis Append 命令用于为指定的 key 追加值。
如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。
如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。
语法
redis 127.0.0.1:6379> APPEND KEY_NAME NEW_VALUE
实例
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> append k1 va
(integer) 2
127.0.0.1:6379> get k1
"va"
127.0.0.1:6379> append k1 va
(integer) 4
127.0.0.1:6379> get k1
"vava"