Redis从零开始之redis命令--字符串(string)

前言:Redis命令行大小写不敏感,做这些简单的实验可暂不纠结大小写。
修改:之前的博客只是给出了命令和解释,修改后补充了具体的实例。

1 SET key value
设置指定 key 的值
2 GET key
获取指定 key 的值。

127.0.0.1:6379> set key1 "hello kobe"
OK
127.0.0.1:6379> get key1
"hello kobe"

3 GETRANGE key start end
返回 key 中字符串值的子字符

127.0.0.1:6379> GETRANGE key1 3 7
"lo ko"

range范围是从“0”开始的。

4 GETSET key value
将给定 key 的值设为 value ,并返回 key 的旧值(old value)。

127.0.0.1:6379> GETSET key1 "hello bryant"
"hello kobe"
127.0.0.1:6379> get key1
"hello bryant"

用GETSET 已经将key1的值改了,返回的”hello kobe”是旧值。新值用get看已经变成”hello bryant”了。
5 GETBIT key offset
对 key 所储存的字符串值,获取指定偏移量上的位(bit)。

127.0.0.1:6379> SETBIT bit 123456 1
(integer) 0
127.0.0.1:6379> GETBIT bit 123456
(integer) 1

到这里为了后面实验更清晰,清除一下之前实验留下的数据:

127.0.0.1:6379> FLUSHALL
OK
127.0.0.1:6379> keys *
(empty list or set)

FLUSHALL 这个命令会清楚现在所处数据库的所有键值对,即所有数据。慎用哦!!自己练习没有关系,但是线上操作的话一定慎用,除非你知道自己在做什么。
6 MGET key1 [key2..]
获取所有(一个或多个)给定 key 的值。

127.0.0.1:6379> set key1 "hello nba"
OK
127.0.0.1:6379> set key2 "hello kobybryant"
OK
127.0.0.1:6379> set key3 "hello fmvp"
OK
127.0.0.1:6379> mget key1 key2 key3
1) "hello nba"
2) "hello kobybryant"
3) "hello fmvp"

7 SETBIT key offset value
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。

127.0.0.1:6379> SETBIT bit 10086 1
(integer) 0
127.0.0.1:6379> GETBIT bit 10086
(integer) 1
127.0.0.1:6379> GETBIT bit 100
(integer) 0

8 SETEX key seconds value
将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。

127.0.0.1:6379> SETEX key5 30 "hello world"
OK
127.0.0.1:6379> ttl key5
(integer) 28
127.0.0.1:6379> get key5
"hello world"
127.0.0.1:6379> ttl key5
(integer) 19
127.0.0.1:6379> ttl key5
(integer) 6
127.0.0.1:6379> ttl key5
(integer) -2
127.0.0.1:6379> get key5
(nil)

这里设置的key5的过期时间是30秒。30秒之后,他的TTL(time to live)值就变成负的了。值也会失效,也就是不存在了,get他的时候当然是nil(为空)了。
9 SETNX key value
只有在 key 不存在时设置 key 的值。

10 SETRANGE key offset value
用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。

127.0.0.1:6379> set key4 abcdefg
OK
127.0.0.1:6379> get key4
"abcdefg"
127.0.0.1:6379> SETRANGE key4 2 123
(integer) 7
127.0.0.1:6379> get key4
"ab123fg"

同样记住offset是从0开始的就可以了,返回的“7”是指的是value的长度。

11 STRLEN key
返回 key 所储存的字符串值的长度。(str字符串len长度)

127.0.0.1:6379> STRLEN key4
(integer) 7

12 MSET key value [key value …]
同时设置一个或多个 key-value 对。

127.0.0.1:6379> mset "my key" "hello nab" "you key" "hello kobe"
OK
127.0.0.1:6379> mget "my key" "you key"
1) "hello nab"
2) "hello kobe"

只需要注意引号的使用就可以了,例如键或者值中间有空格,要将整个键或者值用引号引起来。以免系统识别紊乱。

13 MSETNX key value [key value …]
同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
与上条命令一样。只是判断键存不存在。

14 PSETEX key milliseconds value
这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
毫秒跟秒之间的*1000就可以了啦。
15 INCR key
将 key 中储存的数字值增一。

127.0.0.1:6379> set digitalkey 5
OK
127.0.0.1:6379> INCR digitalkey
(integer) 6
127.0.0.1:6379> INCR digitalkey
(integer) 7
127.0.0.1:6379> INCR digitalkey
(integer) 8
127.0.0.1:6379> INCR digitalkey
(integer) 9

就是将数次的value加1,限于数字的value。

127.0.0.1:6379> set key1 a
OK
127.0.0.1:6379> INCR key1
(error) ERR value is not an integer or out of range

16 INCRBY key increment
将 key 所储存的值加上给定的增量值(increment) 。

127.0.0.1:6379> get digitalkey
"9"
127.0.0.1:6379> INCRBY digitalkey 5
(integer) 14
127.0.0.1:6379> INCRBY digitalkey 5
(integer) 19

17 INCRBYFLOAT key increment
将 key 所储存的值加上给定的浮点增量值(increment) 。
18 DECR key
将 key 中储存的数字值减一。
19 DECRBY key decrement
key 所储存的值减去给定的减量值(decrement) 。

127.0.0.1:6379> DECR digitalkey
(integer) 18
127.0.0.1:6379> DECR digitalkey
(integer) 17
127.0.0.1:6379> DECRBY digitalkey 5
(integer) 12
127.0.0.1:6379> DECRBY digitalkey 5
(integer) 7
127.0.0.1:6379> DECRBY digitalkey 5
(integer) 2

20 APPEND key value
如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。

127.0.0.1:6379> get "you key"
"hello kobe"
127.0.0.1:6379> APPEND "you key" "you are great basketball player !"

(integer) 43
127.0.0.1:6379> get "you key"
"hello kobeyou are great basketball player !"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值