127.0.0.1:6380[8]> set k1 "a"
OK
127.0.0.1:6380[8]> get k1
"a"
127.0.0.1:6380[8]> set k2 "b" ex 5 nx #ex 表示 k2 的过期时间,一旦超时 5 秒, k2 就会失效; nx 表示当没有 k2 时,创建 k2
OK
127.0.0.1:6380[8]> get k2 #5 秒还没到, k2 还没有失效
"b"
127.0.0.1:6380[8]> get k2 #5 秒已到, k2 失效,没有 value 值了
(nil)
127.0.0.1:6380[8]> set k1 "b" xx #xx 表示更新,即 k1 已经存在,更新一个新值
OK
127.0.0.1:6380[8]> get k1
"b"
127.0.0.1:6380[8]> append k2 "abc" # 前面 k2 已经失效不存在了,当 k2 不存在时,新建一个键值对
(integer) 3
127.0.0.1:6380[8]> get k2
"abc"
127.0.0.1:6380[8]> append k2 "ee" #k2 已经存在,这里表示在已有的字符串末尾追加新的字符串
(integer) 5
127.0.0.1:6380[8]> get k2
"abcee"
127.0.0.1:6380[8]> set k3 "hello world" # 设置一个 k3
OK
127.0.0.1:6380[8]> setrange k3 6 "Redis" # 用新的字符串覆盖第 7 位开始后的字符串
(integer) 11
127.0.0.1:6380[8]> get k3
"hello Redis"
127.0.0.1:6380[8]> strlen k3
(integer) 11
127.0.0.1:6380[8]> mset k4 "hello" k5 "java" # 设置多个键值对,命令不会失败的,当 key 已经存在则覆盖,当不存在时则新建
OK
127.0.0.1:6380[8]> mget k4 k5 # 查询多个 key 对应的 value 值
1) "hello"
2) "java"
2 、 value 为数值
127.0.0.1:6380[8]> set k1 100 # 先设置一个初始值
OK
127.0.0.1:6380[8]> incr k1 # 对一个已经存在的 key 的 value 值加 1
(integer) 101
127.0.0.1:6380[8]> incr k2 # 对不存在的 key 的 value 值加 1 ,当 key 不存在时,先设初值为 0 ,再加 1 返回
(integer) 1
127.0.0.1:6380[8]> decr k1 # 对一个已经存在的 key 的 value 值减 1
(integer) 100
127.0.0.1:6380[8]> incr k2
(integer) 2
127.0.0.1:6380[8]> decr k2
(integer) 1
127.0.0.1:6380[8]> decr k2
(integer) 0
127.0.0.1:6380[8]> decr k2 # 对一个已经存在的 key 的 value 值减 1 ,这个 value 值为 0 ,减 1 后变成 -1 返回
(integer) -1
127.0.0.1:6380[8]> decr k3 # 对一个不存在的 key 的 value 值减 1 ,当 key 不存在时,先设初值为 0 ,再减 1 返回
(integer) -1
127.0.0.1:6380[8]> set k4 200
OK
127.0.0.1:6380[8]> incrby k4 10 # 对一个已经存在的 key 的 value 值加 10
(integer) 210
127.0.0.1:6380[8]> decrby k4 10 # 对一个已经存在的 key 的 value 值减 10
(integer) 200
127.0.0.1:6380[8]> incrby k5 300 # 对一个不存在的 key 的 value 值加 300 ,先设初值为 0 ,再加 300 返回
(integer) 300
127.0.0.1:6380[8]> incrbyfloat k6 0.8 # 对一个不存在的 key 的 value 值加小数 0.8 返回
"0.8"
127.0.0.1:6380[8]> set k7 400
OK
127.0.0.1:6380[8]> incrbyfloat k7 0.5 # 对一个已经存在的 key 的 value 值加小数 0.5 返回
"400.5"
3 、 value 为位图、
127.0.0.1:6380[8]> setbit k1 1 1
(integer) 0
127.0.0.1:6380[8]> setbit k1 2 1 # 设置后, k1 的 value 二进制为 01100000
(integer) 0
127.0.0.1:6380[8]> getbit k1 0
(integer) 0
127.0.0.1:6380[8]> getbit k1 1
(integer) 1
127.0.0.1:6380[8]> getbit k1 2
(integer) 1
127.0.0.1:6380[8]> bitcount k1 # 设置后, k1 的 value 二进制为 01100000 ,可见有 2 个 1
(integer) 2
127.0.0.1:6380[8]> bitpos k1 0
(integer) 0
127.0.0.1:6380[8]> bitpos k1 1
(integer) 1
127.0.0.1:6380[8]> setbit k2 3 1 # 设置后, k2 的 value 二进制为 00010000
(integer) 0
127.0.0.1:6380[8]> bitpos k2 1 #k2 的 value 二进制为 00010000 ,第一个被设备为 1 的二进制位是 3
(integer) 3
127.0.0.1:6380[8]> bitpos k2 1 0 1 # 限制查找范围在 0 到 1 字节
(integer) 3
127.0.0.1:6380[8]> bitpos k2 1 1 2 # 限制查找范围在 1 到 2 字节
(integer) -1
127.0.0.1:6380[8]> setbit k3 1 1
(integer) 0
127.0.0.1:6380[8]> setbit k3 2 1
(integer) 0
127.0.0.1:6380[8]> setbit k3 3 1 # 设置后, k3 的 value 二进制为 01110000
(integer) 0
127.0.0.1:6380[8]> setbit k4 3 1 # 设置后, k4 的 value 二进制为 00010000
(integer) 0
127.0.0.1:6380[8]> bitop and andkey k3 k4 外汇跟单gendan5.com #k3 和 k4 二进制位取逻辑与,结果为 00010000 ,其 1 个字节,返回值为字符串长度 1
(integer) 1
127.0.0.1:6380[8]> bitcount andkey # 查看 andkey 的 value 只有 1 个 1
(integer) 1
127.0.0.1:6380[8]> bitop or orkey k3 k4 #k3 和 k4 二进制位取逻辑或,结果为 01110000 ,其 1 个字节,返回值为字符串长度 1
(integer) 1
127.0.0.1:6380[8]> bitcount orkey # 查看 orkey 的 value 有 3 个 1
(integer) 3
127.0.0.1:6380[8]> bitop xor xorkey k3 k4 #k3 和 k4 二进制位取逻辑异或,结果为 01100000 ,其 1 个字节,返回值为字符串长度 1
(integer) 1
127.0.0.1:6380[8]> bitcount xorkey # 查看 xorkey 的 value 有 2 个 1
(integer) 2
127.0.0.1:6380[8]> bitop not notkey k3 #k3 二进制位取逻辑非,结果为 10001111 ,其 1 个字节,返回值为字符串长度 1
(integer) 1
127.0.0.1:6380[8]> bitcount notkey # 查看 notkey 的 value 有 5 个 1
(integer) 5