redis--string类型

String类型及操作

String是最简单的类型,一个Key对应一个Value,string类型是二进制安全的。Redis的String可以包含任何数据,比如jpg图片或者序列化的对象。

Set

设置Key对应的值为String类型的Value

127.0.0.1:6379> set name ysy
OK
(0.53s)
127.0.0.1:6379> get name
"ysy"
127.0.0.1:6379> set name yyy
OK
127.0.0.1:6379> get name
"yyy"

上面的例子可以看出,一个键对应一个值。如果重复设置同一个键,则会覆盖。

Setnx

设置Key对应的值为string类型的value,如果key已经存在,返回0,nx是not exist的意思

127.0.0.1:6379> setnx name sss
(integer) 0
27.0.0.1:6379> setnx age 20
(integer) 1
127.0.0.1:6379> get age
"20"
127.0.0.1:6379> setnx age 40
(integer) 0
127.0.0.1:6379> get age
"20"

Setex

设置Key对应的值为string类型的value,并指定此键值对应的有效期。

例如将haircolor的值设置为red,并且有效期为10s

127.0.0.1:6379> setex haircolor 10 red
OK
127.0.0.1:6379> get haircolor
"red"
127.0.0.1:6379> get haircolor
(nil)

其中(nil)表示空

Setrange

设置指定key的value值的子字符串

例如:我们希望将lijie的126邮箱换位gmail邮箱

127.0.0.1:6379> set name lijie@126.com
OK
127.0.0.1:6379> get name
"lijie@126.com"
127.0.0.1:6379> setrange name 6 gmail.com
(integer) 15
127.0.0.1:6379> get name
"lijie@gmail.com"

从第6个字符开始替换,替换成gmail.com

注:替换完后,后面多余的部分保持不变

127.0.0.1:6379> set name 12345678
OK
127.0.0.1:6379> get name
"12345678"
127.0.0.1:6379> setrange name 3 abc
(integer) 8
127.0.0.1:6379> get name
"123abc78"

mset

一次设置多个key的值,成功返回ok表示所有值都设置了,失败返回0表示没有任何值被设置。

例如:

mset key1 ysy1 key2 ysy2
OK
127.0.0.1:6379> get key1
"ysy1"
127.0.0.1:6379> get key2
"ysy2"

msetnx

一次设置多个key的值,成功返回ok表示所有值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key。

注:只要有一个失败,则都不会赋值。

127.0.0.1:6379> set key2 ysy
OK
127.0.0.1:6379> msetnx key6 666 key2 123 
(integer) 0
127.0.0.1:6379> get key6
(nil)
127.0.0.1:6379> get key2
"ysy"

get

获取key对应的string值,如果key不存在返回nil

getset

设置key的值,并返回key的旧值。

127.0.0.1:6379> set key1 111
OK
127.0.0.1:6379> getset key1 222
"111"

getrange

获取key的value值的子字符串。

例如:

127.0.0.1:6379> set key1 123456@qq.com
OK
127.0.0.1:6379> getrange key1 0 4
"12345"

注: 0 4 是从下标为0的到为4的

mget

一次获取多个key值,如果key不存在则对应的返回nil

127.0.0.1:6379> mget key1 key2 key3 key4 key5 key6 key7
1) "123456@qq.com"
2) "ysy"
3) "123"
4) (nil)
5) "ysy5"
6) (nil)
7) (nil)

incr

对key的值做加加操作,并返回新的值

incrby

同incr类似,加指定值,key不存在的时候设置key,并认为原来的value为0

127.0.0.1:6379> set key1 20
OK
127.0.0.1:6379> incr key1
(integer) 21
127.0.0.1:6379> get key1
"21"

127.0.0.1:6379> incr key7
(integer) 1
127.0.0.1:6379> incr key7
(integer) 2
127.0.0.1:6379> incr key7
(integer) 3
127.0.0.1:6379> get key7
"3"
127.0.0.1:6379> incrby key7 5
(integer) 8
127.0.0.1:6379> incrby key7 5
(integer) 13
127.0.0.1:6379> incrby key7 -5
(integer) 8

后面的数设置成正值为加,设置成负值为减

decr

对key的值做减减操作

decrby

同decr类似,见指定值

127.0.0.1:6379> set key1 20
OK
127.0.0.1:6379> decr key1
(integer) 19
127.0.0.1:6379> decr key1
(integer) 18
127.0.0.1:6379> decr key1
(integer) 17
127.0.0.1:6379> decrby key1 3
(integer) 14
127.0.0.1:6379> decrby key1 -3
(integer) 17

**注:如果decrby 后面的数为负值,即为减去一个负值,就相当于加上那个数的绝对值
**

append

给指定的字符串追加value,返回新的字符串值的长度。

127.0.0.1:6379> set name ysy
OK
127.0.0.1:6379> append name @qq.com
(integer) 10
127.0.0.1:6379> get name
"ysy@qq.com"

strlen

取指定key的value值的长度。

127.0.0.1:6379> set name 123456
OK
127.0.0.1:6379> strlen name
(integer) 6
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值