2、Redis的数据类型-string

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


请使用浏览器的分享功能分享到微信等