redis中的string相关的部分命令

redis命令手册

redis中文官网查看文档

挨个进行输出调试

Redis Setnx 命令

Redis Getrange 命令

Redis Mset 命令

复制代码
redis 127.0.0.1:6379> MSET key1 "Hello" key2 "World"
OK
redis 127.0.0.1:6379> GET key1
"Hello"
redis 127.0.0.1:6379> GET key2
1) "World"

Redis Setex 命令

复制代码
redis 127.0.0.1:6379> SETEX mykey 60 redis
OK
redis 127.0.0.1:6379> TTL mykey
60
redis 127.0.0.1:6379> GET mykey
"redis

Redis SET 命令

Redis Get 命令

Redis Getbit 命令

复制代码
 对不存在的 key 或者不存在的 offset 进行 GETBIT, 返回 0
 
redis> EXISTS bit
(integer) 0
 
redis> GETBIT bit 10086
(integer) 0
 
 
# 对已存在的 offset 进行 GETBIT
 
redis> SETBIT bit 10086 1
(integer) 0
 
redis> GETBIT bit 10086
(integer) 1

Redis Setbit 命令

复制代码
redis> SETBIT bit 10086 1
(integer) 0
 
redis> GETBIT bit 10086
(integer) 1
 
redis> GETBIT bit 100   # bit 默认被初始化为 0
(integer) 0

Redis Decr 命令

复制代码
# 对存在的数字值 key 进行 DECR
 
redis> SET failure_times 10
OK
 
redis> DECR failure_times
(integer) 9
 
 
# 对不存在的 key 值进行 DECR
 
redis> EXISTS count
(integer) 0
 
redis> DECR count
(integer) -1
 
 
# 对存在但不是数值的 key 进行 DECR
 
redis> SET company YOUR_CODE_SUCKS.LLC
OK
 
redis> DECR company
(error) ERR value is not an integer or out of range

Redis Decrby 命令

复制代码
# 对已存在的 key 进行 DECRBY
 
redis> SET count 100
OK
 
redis> DECRBY count 20
(integer) 80
 
 
# 对不存在的 key 进行DECRBY
 
redis> EXISTS pages
(integer) 0
 
redis> DECRBY pages 10
(integer) -10

Redis Strlen 命令

复制代码
# 获取字符串的长度
 
redis> SET mykey "Hello world"
OK
 
redis> STRLEN mykey
(integer) 11
 
 
# 不存在的 key 长度为 0
 
redis> STRLEN nonexisting
(integer) 0

Redis Msetnx 命令

复制代码
# 对不存在的 key 进行 MSETNX
 
redis> MSETNX rmdbs "MySQL" nosql "MongoDB" key-value-store "redis"
(integer) 1
 
redis> MGET rmdbs nosql key-value-store
1) "MySQL"
2) "MongoDB"
3) "redis"
 
 
# MSET 的给定 key 当中有已存在的 key
 
redis> MSETNX rmdbs "Sqlite" language "python"  # rmdbs 键已经存在,操作失败
(integer) 0
 
redis> EXISTS language                          # 因为 MSET 是原子性操作,language 没有被设置
(integer) 0
 
redis> GET rmdbs                                # rmdbs 也没有被修改
"MySQL"

Redis Incrby 命令

复制代码
# key 存在且是数字值
 
redis> SET rank 50
OK
 
redis> INCRBY rank 20
(integer) 70
 
redis> GET rank
"70"
 
 
# key 不存在时
 
redis> EXISTS counter
(integer) 0
 
redis> INCRBY counter 30
(integer) 30
 
redis> GET counter
"30"
 
 
# key 不是数字值时
 
redis> SET book "long long ago..."
OK
 
redis> INCRBY book 200
(error) ERR value is not an integer or out of range

Redis Incrbyfloat 命令

复制代码
# 值和增量都不是指数符号
 
redis> SET mykey 10.50
OK
 
redis> INCRBYFLOAT mykey 0.1
"10.6"
 
 
# 值和增量都是指数符号
 
redis> SET mykey 314e-2
OK
 
redis> GET mykey                # 用 SET 设置的值可以是指数符号
"314e-2"
 
redis> INCRBYFLOAT mykey 0      # 但执行 INCRBYFLOAT 之后格式会被改成非指数符号
"3.14"
 
 
# 可以对整数类型执行
 
redis> SET mykey 3
OK
 
redis> INCRBYFLOAT mykey 1.1
"4.1"
 
 
# 后跟的 0 会被移除
 
redis> SET mykey 3.0
OK
 
redis> GET mykey                                    # SET 设置的值小数部分可以是 0
"3.0"
 
redis> INCRBYFLOAT mykey 1.000000000000000000000    # 但 INCRBYFLOAT 会将无用的 0 忽略掉,有需要的话,将浮点变为整数
"4"
 
redis> GET mykey
"4"

Redis Setrange 命令

复制代码
redis 127.0.0.1:6379> SET key1 "Hello World"
OK
redis 127.0.0.1:6379> SETRANGE key1 6 "Redis"
(integer) 11
redis 127.0.0.1:6379> GET key1
"Hello Redis"

Redis Psetex 命令

复制代码
redis 127.0.0.1:6379> SET key1 "Hello World"
OK
redis 127.0.0.1:6379> SETRANGE key1 6 "Redis"
(integer) 11
redis 127.0.0.1:6379> GET key1
"Hello Redis"

Redis Append 命令

复制代码
redis 127.0.0.1:6379> SET key1 "Hello World"
OK
redis 127.0.0.1:6379> SETRANGE key1 6 "Redis"
(integer) 11
redis 127.0.0.1:6379> GET key1
"Hello Redis"

Redis Getset 命令

复制代码
redis 127.0.0.1:6379> GETSET mynewkey "This is my test key"
(nil)
redis 127.0.0.1:6379> GETSET mynewkey "This is my new value to test getset"
"This is my test key"

Redis Mget 命令

复制代码
redis 127.0.0.1:6379> GETSET mynewkey "This is my test key"
(nil)
redis 127.0.0.1:6379> GETSET mynewkey "This is my new value to test getset"
"This is my test key"

Redis Incr 命令

复制代码
redis 127.0.0.1:6379> GETSET mynewkey "This is my test key"
(nil)
redis 127.0.0.1:6379> GETSET mynewkey "This is my new value to test getset"
"This is my test key"
相关推荐
hnlucky5 分钟前
Windows 上安装下载并配置 Apache Maven
java·hadoop·windows·学习·maven·apache
laowangpython18 分钟前
MySQL基础面试通关秘籍(附高频考点解析)
数据库·mysql·其他·面试
mooyuan天天38 分钟前
SQL注入报错“Illegal mix of collations for operation ‘UNION‘”解决办法
数据库·web安全·sql注入·dvwa靶场·sql报错
运维-大白同学1 小时前
go-数据库基本操作
开发语言·数据库·golang
R-sz1 小时前
通过从数据库加载MinIO配置并初始化MinioClient,spring boot之Minio上传
数据库·oracle
forestsea1 小时前
Maven 插件扩展点与自定义生命周期
java·maven
洛阳泰山1 小时前
Windows系统部署MongoDB数据库图文教程
数据库·windows·mongodb
医只鸡腿子2 小时前
3.2/Q2,Charls最新文章解读
数据库·数据挖掘·数据分析·深度优先·数据库开发
炫酷的伊莉娜2 小时前
【Redis】零碎知识点(易忘 / 易错)总结回顾
redis
bang___bang_2 小时前
PostgreSQL内幕剖析——结构与架构
数据库·postgresql