Redis数据结构之Strings

set

127.0.0.1:6379> set mystr showtime
OK
127.0.0.1:6379> keys *
1) "mystr"
127.0.0.1:6379> get mystr
"showtime"

当再次给相同的key设置值时,会覆盖已存在的值

127.0.0.1:6379> set mystr showtimeagain
OK
127.0.0.1:6379> keys *
1) "mystr"
127.0.0.1:6379> get mystr
"showtimeagain"

setnx

当key不存在,等同于set命令,若key存在,什么也不做

127.0.0.1:6379> setnx mykey hello
(integer) 1
127.0.0.1:6379> keys *
1) "mykey"
127.0.0.1:6379> get mykey
"hello"
127.0.0.1:6379> setnx mykey world
(integer) 0
127.0.0.1:6379> get mykey
"hello"

mset mget

mset同时设置多个值,mget同时取多个值

127.0.0.1:6379> mset key1 hello key2 world
OK
127.0.0.1:6379> mget key1 key2
1) "hello"
2) "world"

msetnx

127.0.0.1:6379> msetnx key1 hello key2 world
(integer) 1
127.0.0.1:6379> mget
(error) ERR wrong number of arguments for 'mget' command
127.0.0.1:6379> mget key1
1) "hello"
127.0.0.1:6379> mget key1 key2
1) "hello"
2) "world"
127.0.0.1:6379> msetnx key1 HELLO key2 WORLD
(integer) 0
127.0.0.1:6379> mget key1 key2
1) "hello"
2) "world"

getset

设置一个key的value,并获取设置前的值

127.0.0.1:6379> set key hello
OK
127.0.0.1:6379> get key
"hello"
127.0.0.1:6379> getset key world
"hello"
127.0.0.1:6379> get key
"world"

incr

Redis中文官网对incr的解释为:

  • 对存储在指定key的数值执行原子的加1操作。 如果指定的key不存在,那么在执行incr操作之前,会先将它的值设定为0。
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> incr key
(integer) 1
127.0.0.1:6379> keys *
1) "key"
127.0.0.1:6379> get key
"1"
127.0.0.1:6379> incr key
(integer) 2
127.0.0.1:6379> get key
"2"
  • 如果指定的key中存储的值不是字符串类型(fix:)或者存储的字符串类型不能表示为一个整数, 那么执行这个命令时服务器会返回一个错误(eq:(error) ERR value is not an integer or out of
    range)。
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set key hello
OK
127.0.0.1:6379> type key
string
127.0.0.1:6379> get key
"hello"
127.0.0.1:6379> incr key
(error) ERR value is not an integer or out of range
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> set key 1
OK
127.0.0.1:6379> get key
"1"
127.0.0.1:6379> incr key
(integer) 2
127.0.0.1:6379> get key
"2"

incrby

给指定key值,增加指定的值

127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> incrby key
(error) ERR wrong number of arguments for 'incrby' command
127.0.0.1:6379> set key 1
OK
127.0.0.1:6379> incrby key 10
(integer) 11
127.0.0.1:6379> get key
"11"

append

  • 如果 key 已经存在,并且值为字符串,那么这个命令会把 value 追加到原来值(value)的结尾。 如果 key
    不存在,那么它将首先创建一个空字符串的key,再执行追加操作
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set key Hello
OK
127.0.0.1:6379> get key
"Hello"
127.0.0.1:6379> append key  World
(integer) 10
127.0.0.1:6379> get key
"HelloWorld"
127.0.0.1:6379> append key1 haha
(integer) 4
127.0.0.1:6379> get key1
"haha"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值