理解 Redis(4) - 关于 string 的更多命令(SETEX, SETNX, INCR, DECR, MSET...)

栏目: 数据库 · 发布时间: 5年前

内容简介:上一节介绍了关于字符串值的一些基本命令, 这一节将介绍一些进阶命令:清理终端:设置一个键值对, 同时设置过期时间为10秒:

上一节介绍了关于字符串值的一些基本命令, 这一节将介绍一些进阶命令:

清理终端:

127.0.0.1:6379> clear

设置一个键值对, 同时设置过期时间为10秒:

127.0.0.1:6379> setex name 10 max
OK
127.0.0.1:6379> get name
"max"

查看剩余的过期时间:

127.0.0.1:6379> ttl name
(integer) 4
127.0.0.1:6379> ttl name
(integer) 0
127.0.0.1:6379> get name
(nil)

设置一个键值对, 同时设置过期时间为30000毫秒, 注意, 使用 psetex 设置过期时间, 时间的单位为毫秒:

127.0.0.1:6379> psetex name3 30000 july
OK
127.0.0.1:6379> ttl name3
(integer) 26

设置一个键值对, 但是想要确认这个键是否已被占用, 可以用 setnx, 如果已经被占用, 则返回0, 即没有执行成功:

127.0.0.1:6379> set name tom
OK
127.0.0.1:6379> setnx name join
(integer) 0
127.0.0.1:6379> get name
"tom"

如果未被占用, 则返回1, 即操作成功:

127.0.0.1:6379> setnx name2 join
(integer) 1
127.0.0.1:6379> get name2
"join"
127.0.0.1:6379> keys *
1) "name2"
2) "name"

获取值的字符串长度:

127.0.0.1:6379> get name
"tom"
127.0.0.1:6379> strlen name
(integer) 3
127.0.0.1:6379> get name2
"join"
127.0.0.1:6379> strlen name2
(integer) 4

同时设置多个键值对, 这里故意设置了两个 num2 的值, 可以看到会存入后者:

127.0.0.1:6379> mset num1 40 num2 60 num2 70
OK
127.0.0.1:6379> keys *
1) "name"
2) "name2"
3) "num1"
4) "num2"
127.0.0.1:6379> get num2
"70"

以 1 为单位, 增加/减少值:

127.0.0.1:6379> get num1
"40"
127.0.0.1:6379> decr num1
(integer) 39
127.0.0.1:6379> get num1
"39"
127.0.0.1:6379> incr num1
(integer) 40
127.0.0.1:6379> get num1
"40"

增加/减少值, 但是可以自定义每次增加/减少的量:

127.0.0.1:6379> incrby num1 5
(integer) 45
127.0.0.1:6379> get num1
"45"
127.0.0.1:6379> decrby num1 10
(integer) 35
127.0.0.1:6379> get num1
"35"

附加拼接命令:

127.0.0.1:6379> set mykey hello
OK
127.0.0.1:6379> get mykey
"hello"
127.0.0.1:6379> append mykey " world"
(integer) 16
127.0.0.1:6379> get mykey
"hello world"

以上, 就是关于字符串值的一些进阶命令, 如有问题, 欢迎留言.


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Weaving the Web

Weaving the Web

Tim Berners-Lee / Harper Paperbacks / 2000-11-01 / USD 15.00

Named one of the greatest minds of the 20th century by Time , Tim Berners-Lee is responsible for one of that century's most important advancements: the world wide web. Now, this low-profile genius-wh......一起来看看 《Weaving the Web》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换