首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Redis字符串类型string

(1)

set:设置键值对

get:取值

127.0.0.1:6379> flushdb

OK

127.0.0.1:6379> keys *

(empty list or set)

127.0.0.1:6379> set k1 v100

OK

127.0.0.1:6379> set k2 v200

OK

127.0.0.1:6379> keys *

1) "k2"

2) "k1"

127.0.0.1:6379> get k1

"v100"

127.0.0.1:6379> get k2

"v200"

127.0.0.1:6379> set k1 v1000

OK

127.0.0.1:6379> get k1

"v1000"

(2)

append < key> < value>:将给定的< value >追加到原值的末尾。

127.0.0.1:6379> append k1 abc

(integer) 8

127.0.0.1:6379> get k1

"v1000abc"

(3)

strlen < key >:获得值得长度

127.0.0.1:6379> strlen k1

(integer) 8

(4)

setnx < key >< value >只在key不存在时,设置key的值。

127.0.0.1:6379> setnx k1 v1

(integer) 0

127.0.0.1:6379> setnx k3 v300

(integer) 1

(5)

incr < key > : 将key中存储的数字值增1。只能对数字值操作,如果为空,新增值为1

decr < key > :将key中存储的数字值减1。只能对数字值操作,如果为空,新增值为-1

127.0.0.1:6379> set k4 1

OK

127.0.0.1:6379> incr k4

(integer) 2

127.0.0.1:6379> get k4

"2"

127.0.0.1:6379> decr k4

(integer) 1

127.0.0.1:6379> get k4

"1"

(6)

incrby / decrby < key > < 步长 > 将key中存储的数字值增减。自定义步长。

127.0.0.1:6379> set k4 5

OK

127.0.0.1:6379> get k4

"5"

127.0.0.1:6379> incrby k4 10

(integer) 15

127.0.0.1:6379> decrby k4 10

(integer) 5

(7)

mset < key1 > < value1> < key2 > < value2>…

同时设置一个或多个key-value对。

mget < key1> < key2 > < key3 >…

注意:

这个操作是要保持原子性的。所谓原操作,是指不会被线程调度机制打断的操作;

这种操作一旦开始,就一直运行到结束,中间不会切换到另一个线程。

在单线程中,能够在单条指令中完成的操作都可以认为是“原子操作”。

在多线程中,不能被其他进程(线程)打断的操作就叫原子操作。

Redis单命令的原子性主要得益于Redis的单线程。

127.0.0.1:6379> flushdb

OK

127.0.0.1:6379> keys *

(empty list or set)

127.0.0.1:6379> mset k1 v1 k2 v2

OK

127.0.0.1:6379> keys *

1) "k2"

2) "k1"

127.0.0.1:6379> mget k1 k2

1) "v1"

2) "v2"

(8)

msetnx < key1> < value1> < key2> < value2>…

同时设置一个或多个key-value对,当且仅当所有给定key都不存在。

且也具有原子性,有一个失败则都失败。

127.0.0.1:6379> msetnx k11 v11 k1 v1

(integer) 0

127.0.0.1:6379> keys *

1) "k2"

2) "k1"

127.0.0.1:6379> msetnx k11 v11 k22 v22

(integer) 1

127.0.0.1:6379> keys *

1) "k2"

2) "k11"

3) "k22"

4) "k1"

(9)

getrange < key> < 开始位置 > < 结束位置 >

获取值的范围,相当于substr()。

127.0.0.1:6379> set name abcde

OK

127.0.0.1:6379> getrange name 0 3

"abcd"

(10)

setrange < key > < 起始位置> < value >

用< value >覆写 < key >所存储的字符串值,从< 起始位置 > 开始(索引从0开始)。

127.0.0.1:6379> setrange name 0 xyz

(integer) 5

127.0.0.1:6379> get name

"xyzde"

(11)

getset < key > < value >

以新换旧,设置了新值同时获得旧值。

127.0.0.1:6379> get k1

"v1"

127.0.0.1:6379> getset k1 v11

"v1"

127.0.0.1:6379> get k1

"v11"

(12)

setex < key > < 过期时间> < value >

设置键值的同时,设置过期时间,单位秒。

设置一个key-value后,ttl查看过期时间,-2表示已过期。

127.0.0.1:6379> setex k5 10 100

OK

127.0.0.1:6379> ttl k5

(integer) 7

127.0.0.1:6379> ttl k5

(integer) 3

127.0.0.1:6379> ttl k5

(integer) -2

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OXqQxNn5WegX_4qzdHu0kwWQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券